我在 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 应用程序代码本身中完成。因此,这种方法主要用于保护用户上传文件的目录。