Es gab eine Menge von sprechen über ein Sicherheitsproblem in Bezug auf die cgi.fix_pathinfo
PHP - Option mit Nginx verwendet ( in der Regel PHP-FPM, schneller CGI).
Infolgedessen wird in der Standard-Nginx-Konfigurationsdatei Folgendes angegeben:
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
Das "offizielle" Nginx-Wiki gibt jedoch jetzt an, dass PATH_INFO korrekt gehandhabt werden kann, ohne die obige PHP-Option zu deaktivieren. Na und?
Fragen
- Können Sie klar erklären, was zu
cgi.fix_pathinfo
tun ist? (Das offizielle Dokument sagt nur : "Weitere Informationen zu PATH_INFO finden Sie in den CGI-Spezifikationen.") - Was macht PHP wirklich mit diesen
PATH_INFO
undSCRIPT_FILENAME
Variablen? - Warum und wie kann es mit Nginx gefährlich sein? ( detaillierte Beispiele)
- Gibt es das Problem in neueren Versionen dieser Programme noch?
- Ist Apache anfällig?
Ich versuche, das Problem bei jedem Schritt zu verstehen. Ich verstehe zum Beispiel nicht, warum die Verwendung des Unix-Sockets php-fpm dieses Problem vermeiden könnte .