我在configuration为通过PHP-FCGI运行PHP的Debian Wheezy系统上运行nginx Web服务器。 除了适当地设置权限之外,出于安全原因,我想禁止nginx和PHP 创build符合location ~ \.php …规则的文件(或者相应地重命名其他文件),即以.PHP结尾的文件。 我怎样才能解决这个问题?
使用正确的权限。 允许php-fpm运行的用户仅在certian目录下创build文件,并明确禁止php-fpm处理驻留在这些目录中的* .php文件。
类似的东西:
location ~* /writable/by/php-fpm/directory/.+\.php$ { return 403; }
通常的PHP位置以上。 所以,不惜一切代价避免模式777。
虽然这是一个很好的安全方法,但这种方法很less使用,因为主要的担心是防止攻击者获得运行他们自己的代码的权限(这是您所问的问题的一个超集),主要是在PHP应用程序代码本身 所以这种方法主要用于保护用户上传文件的目录。