由nginx漏洞想到的禁止某个目录执行php权限
这次的nginx漏洞可谓是惊天,具体就不说了,详情见 http://www.80sec.com/nginx-securit.html
这漏洞可怕之处就是一旦有用户可以上传的地方如果能把php改后缀方式上传到服务器的话,就能任意执行。
其实有一个通用的方法可以来避免这种未知漏洞,就是禁止用户上传目录执行php权限。
在apache下面我们可以通过:
1 2 3 | <Directory /website/attachments> php_flag engine off </Directory> |
的方式来来禁用目录下文件php执行权限。
那么在nginx里面同样可以实现这种方法,那就是location的优先匹配,关于location可以参考我之前的一批文章http://226617.cn/archives/392.htm
这里简单就举个例子
1 2 3 4 | location ^~ /attachments/
{
access_log off;
} |
这样 attachments这个目录 就不会再去跳转给fastcgi去执行php了