C'è stato un sacco di parlare di un problema di sicurezza relativo alla cgi.fix_pathinfo
possibilità di PHP usato con Nginx (di solito PHP-FPM, CGI veloce).
Di conseguenza, il file di configurazione nginx predefinito usato diceva:
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
Tuttavia, ora, il wiki "ufficiale" di Nginx afferma che PATH_INFO può essere gestito correttamente senza disabilitare l'opzione PHP sopra. E allora?
Domande
- Puoi spiegare chiaramente cosa fa
cgi.fix_pathinfo
? (il documento ufficiale dice semplicemente : "Per ulteriori informazioni su PATH_INFO, consultare le specifiche CGI") - Cosa faranno veramente PHP con queste
PATH_INFO
eSCRIPT_FILENAME
variabili? - Perché e come può essere pericoloso con Nginx? ( esempi dettagliati )
- Il problema persiste nelle ultime versioni di questi programmi?
- Apache è vulnerabile?
Sto cercando di capire il problema ad ogni passaggio. Ad esempio, non capisco perché l'uso del socket Unix php-fpm possa evitare questo problema.