nginx禁止php脚本运行配置代码

网上总有一些无事生非的人喜欢把后门程序传到某些基于PHP+MYSQL运行的网站上,而因为这些网站的所有目录安全性都一样(可写入、可执行),被入侵的几率大大提高了。

本次测试的是nginx/1.0.10服务,修改某个流行的程序dedecms下3个目录不可执行php程序,3个目录为:uploads、data、templets

在nginx的配置文件中找到该网站的配置代码段,可以看到某段代码如下: 

  • location ~ .*\.(php|php5)?$
  • {
  • fastcgi_pass  unix:/tmp/php-cgi.sock;
  • fastcgi_index index.php;
  • include fcgi.conf;
  • }

在这段代码之前加入如下代码: 

  • location ~ ^/(uploads|data|templets)/.*\.(php|php5)$
  • {
  • deny all;

然后将nginx服务重载一次即可,最终效果就是打开这3个目录下的文件,只要后缀名为php的文件(无论该文件是否存在)则返回:403 Forbidden,而访问其他目录,则正常执行,如果文件不存在则返回:No input file specified.

Tags: nginx, 禁止php, dedecms

上一篇: 错误 0xc00470fe: 数据流任务: 产品级别对于 组件“源 - is36$”(1) 而言不足
下一篇: .COM域名过期删除时间

相关文章

发表评论