lnmp去掉nginx上传目录的PHP执行权限

林继 VPS 知识 2,356 共写了408个字 (2012-03-16 23:19:38) 没有评论 打印 扫描二维码 百度未收录

LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。下面VPS侦探详细介绍如何把lnmp环境下去掉指定目录的PHP执行权限。

首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:

1、单个目录去掉PHP执行权限

  1. location ~ /attachments/.*\.(php|php5)?$ {
  2. deny all;
  3. }

将attachments目录的PHP执行权限去掉。

2、多个目录去掉PHP执行权限

  1. location ~ /(attachments|upload)/.*\.(php|php5)?$ {
  2. deny all;
  3. }

将attachments、upload这二个目录的PHP执行权限去掉。
附上一个完整的虚拟主机的例子供参考:

  1. server
  2. {
  3. listen 80;
  4. server_name bbs.vpser.net;
  5. index index.html index.htm index.php;
  6. root /home/wwwroot/bbs.vpser.net; 
  7. include discuz.conf;
  8. location ~ /(attachments|upload)/.*\.(php|php5)?$ {
  9. deny all;
  10. }
  11. location ~ .*\.(php|php5)?$
  12. {
  13. fastcgi_pass unix:/tmp/php-cgi.sock;
  14. fastcgi_index index.php;
  15. include fcgi.conf;
  16. }
  17. access_log off;
  18. }

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >