I nostri prodotti hanno PHP configurato in modalità CGI, pertanto gli headers inseriti nel file .htaccess non vengono correttamente gestiti se vengono richiamati scripts PHP.

Ad esempio la seguente direttiva nel file .htaccess non darebbe nessun risultato richiamando una pagina PHP del sito web:

Header always set X-XSS-Protection "1; mode=block"

Per ovviare a questa configurazione, basta creare un file chiamato .user.ini nella webroot (/htdocs) in cui inserire:

auto_prepend_file = "/home/mhd/www.NOME_DEL_SITO/htdocs/prepend_headers.php"

dove ovviamente www.NOME_DEL_SITO sarà l'indirizzo completo del propio sito.

Successivamente creare il file prepend_headers.php nella webroot ed andiamo ad inserire le nostre direttive, es:

<?php
header('X-XSS-Protection: 1; mode=block');
header('X-Frame-Options: DENY');
header('X-Content-Type-Options: nosniff');
header('Referrer-Policy: same-origin');
header('Content-Security-Policy: upgrade-insecure-requests');

Infine consigliamo di proteggere il file .user.ini dalla lettura, inserendo nel file .htaccess queste righe:

<Files ".user.ini"> 
Require all denied
</Files>

Nota: nel file .htaccess le direttive vanno comunque lasciate perché verranno applicate ai files statici (es immagini, css, etc)