关于与Nginx一起使用的cgi.fix_pathinfo PHP选项(通常是PHP-FPM,快速CGI),已经有 很多关于安全问题的 讨论 。 因此,默认的nginxconfiguration文件用来说: # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini 然而,现在,“官方”Nginx维基指出, PATH_INFO可以正确处理,而不禁用上述的PHP选项。 所以呢? 问题 你能清楚地解释一下cgi.fix_pathinfo做什么的? ( 官方文档只是说 :“有关PATH_INFO的更多信息,请参阅CGI规范”) PHP会如何处理这些PATH_INFO和SCRIPT_FILENAMEvariables? 为什么以及如何对Nginx危险? ( 详细的例子) 这些程序的最新版本中是否还存在这个问题? Apache是脆弱的吗? 我试图在每一步都了解这个问题。 例如,我不明白为什么使用php-fpm Unix套接字可以避免这个问题。
有几个不同的PHP“包装”(?)。 他们之间有什么分别? 试图谷歌一些,但似乎无法find信息。 (mod-php不是googleable的)。 为什么我可以select一个呢?