Nginx上传目录禁止PHP运行
注意:本文最后更新于 2698 天前,有关的内容可能已经发生变化,请参考使用。
为了安全起见,我们一般会对上传目录禁止运行php脚本
在apache下面我们可以通过以下方式禁用目录下文件php执行权限:
<Directory /website/attachments>
php_flag engine off
</Directory>
那么在nginx里面同样可以实现这种方法,那就是location的优先匹配,这里简单就举个例子
location ^~ /attachments/
access_log off;
}
这样 attachments这个目录 就不会再去跳转给fastcgi去执行php了.这里利用了nginx下location指令的处理顺序优先级特点.但上面的方法只能算一种技巧,一般不这样设置,正确的方法为:
location /upload/ {
location ~ .*\.(php)?$
{
deny all;
}
}
而对于多个目录的话,可以一起进行限定:
location ~* ^/(attachments|images)/.*\.(php|php5)$
{
deny all;
}
「倘若有所帮助,不妨酌情赞赏!」
感谢您的支持!
使用微信扫描二维码完成支付