禁止 nginx 或 PHP-FCGI 创建 PHP 文件

禁止 nginx 或 PHP-FCGI 创建 PHP 文件

我在 Debian Wheezy 系统上运行 nginx Web 服务器,配置为通过 PHP-FCGI 运行 PHP。除了适当设置权限外,出于安全原因,我想禁止 nginx 和 PHP创造符合 ... 规则的文件(或相应地重命名其他文件)location ~ \.php,即以 .PHP 结尾的文件。我该如何处理?

答案1

使用正确的权限。允许正在运行的用户php-fpm仅在某些目录中创建文件,并明确禁止php-fpm处理位于这些目录中的 *.php 文件。

类似这样的:

location ~* /writable/by/php-fpm/directory/.+\.php$ {
    return 403;
}

高于通常的 php 位置。因此,请尽一切努力避免使用模式 777。

虽然这是一种很好的安全方法,但很少使用,因为主要关注的是防止攻击者获得访问权限来运行他们自己的代码(这是您询问的问题的超集),这主要在 PHP 应用程序代码本身中完成。因此,这种方法主要用于保护用户上传文件的目录。

相关内容