Nastąpił wiele od mówienia o występowanie problemu dotyczącego zabezpieczeń w stosunku do możliwości używanego PHP z Nginx (zwykle PHP-FPM, szybko CGI). cgi.fix_pathinfo
W rezultacie domyślny plik konfiguracyjny nginx powiedział:
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
Jednak teraz „oficjalna” wiki Nginx stwierdza, że PATH_INFO może być poprawnie obsługiwane bez wyłączania powyższej opcji PHP. Więc co?
pytania
- Czy możesz wyjaśnić jasno, co robi
cgi.fix_pathinfo
? ( oficjalny dokument mówi po prostu : „Aby uzyskać więcej informacji na temat PATH_INFO, zobacz specyfikacje CGI”) - Co PHP naprawdę zrobi z tymi
PATH_INFO
iSCRIPT_FILENAME
zmiennymi? - Dlaczego i jak może być niebezpiecznie z Nginx? ( szczegółowe przykłady)
- Czy problem nadal występuje w najnowszych wersjach tych programów?
- Czy Apache jest zagrożony?
Staram się zrozumieć problem na każdym kroku. Na przykład nie rozumiem, dlaczego użycie uniksowego gniazda php-fpm może uniknąć tego problemu.