我在配置为通过 PHP-FCGI 运行 PHP 的 Debian Wheezy 系统上运行 nginx Web 服务器。除了适当地设置权限之外,出于安全原因,我想禁止 nginx 和 PHP创建与 ... 规则匹配的文件(或相应地重命名其他文件)location ~ \.php
,即以 .PHP 结尾的文件。我该如何处理?
我在配置为通过 PHP-FCGI 运行 PHP 的 Debian Wheezy 系统上运行 nginx Web 服务器。除了适当地设置权限之外,出于安全原因,我想禁止 nginx 和 PHP创建与 ... 规则匹配的文件(或相应地重命名其他文件)location ~ \.php
,即以 .PHP 结尾的文件。我该如何处理?
使用正确的权限。允许
php-fpm
正在运行的用户仅在特定目录中创建文件,并明确禁止php-fpm
处理驻留在这些目录中的 *.php 文件。像这样的东西:
在通常的 php 位置之上。因此,不惜一切代价避免使用 777 模式。
虽然这是一种很好的安全方法,但很少使用,因为主要关注的是防止攻击者获得运行他们自己的代码的访问权限(这是您所问问题的超集),这主要在 PHP 中完成应用程序代码本身。所以这种方法主要用于保护用户上传文件的目录。