Il y a eu un grand nombre de parler d'un problème de sécurité par rapport à l' cgi.fix_pathinfo
option PHP utilisé avec Nginx (habituellement PHP-FPM, CGI rapide).
En conséquence, le fichier de configuration par défaut de nginx disait:
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
Cependant, le wiki "officiel" de Nginx stipule que PATH_INFO peut être géré correctement sans désactiver l’option PHP ci-dessus. Et alors?
Des questions
- Pouvez-vous expliquer clairement ce que
cgi.fix_pathinfo
fait? (La documentation officielle indique simplement : "Pour plus d'informations sur PATH_INFO, voir les spécifications CGI") - Qu'est - ce que PHP est vraiment avec ces
PATH_INFO
et lesSCRIPT_FILENAME
variables? - Pourquoi et comment cela peut-il être dangereux avec Nginx? ( exemples détaillés )
- Le problème existe-t-il toujours dans les versions récentes de ces programmes?
- Apache est-il vulnérable?
J'essaie de comprendre le problème à chaque étape. Par exemple, je ne comprends pas pourquoi l'utilisation du socket Unix php-fpm pourrait éviter ce problème.