apache,nginx上传目录无执行权限的设置方法

softyun3年前服务器54

我们来看俩段通常对上传目录设置无权限的列子,配置如下:

复制代码 代码如下:


<Directory "/var/www/upload">
<FilesMatch ".php">
Order Allow,Deny
Deny from all
</FilesMatch>
</Directory>



还有网上那个对nginx上传目录无执行权限

复制代码 代码如下:


location ~ ^/upload/.*\.(php|php5)$
{
deny all;
}



这些配置表面上看起来是没什么问题的,确实在windows下可以这么说。
但是*nux就不同了,大家都是知道的*nux操作系统是区分大小写的,这里如果换成大写后缀名*.phP一类就bypasss了


这里我说下我个人的解决方法:

复制代码 代码如下:


<Directory "/var/www/upload">
<FilesMatch "(?i:.php)"> //?是尽可能多的匹配.php的字符串,i是不区分大小写,然后冒号后面跟上正则表达式
Order Allow,Deny
Deny from all
</FilesMatch>
</Directory>



上面的意思就是说,/var/www/upload目录下所有php文件不区分大小写,通过order,allow,deny原则判断拒绝执行php文件,对nginx同样也是可应用的


注:st0p专门为此正则用法写了文章,对这个正则不理解的可以参考
zzvips/article/90917

另外一种方法,这个我们都用过

复制代码 代码如下:


<Directory "/var/www/upload">
php_admin_flag engine off
</Directory>



相比之下我还是看好的一种方法

标签: nginx
免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

解决宝塔面板nginx/apache防火墙后无法启动

宝塔面板是最好用的服务器管理面板,不过有些插件是需要收费的,免费版的Nginx防火墙的功能比收费版Nginx防火墙要差一些,能有钱是更好的,不管是开心版还是正版,我只要安装了nginx防火墙以后,ng...

nginx搭建视频播放服务器

  1.nginxonf中的user配置很重要,如果user和要访问的文件拥有者不同,很有可能出现404错误。  2.root和alias的区别,root不会叠加。  3.无法直接访问到flv:flv...

宝塔面板安装Tengine报错:nginx: [emerg] invalid IPv6 address in resolver

最近为了制作一个Docker镜像,在本地电脑上通过虚拟机安装了CentOS,顺便通过宝塔面板安装了阿里系的WEB环境。安装好以后Nginx始终无法启动,报错:nginx: [emerg] invali...

nginx提示:500 Internal Server Error错误的解决方法

现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由...

如何在debian11 Bullseye上安装Nginx Web服务器?

如何在Debian 11上安装Nginx?Nginx是一款轻量级的 HTTP 服务器,时常用于服务端的反向代理和负载均衡。Nginx是一个免费的开源网络服务器,提供 HTTP、反向代理、缓存和负载平衡...

nginx是什么意思?nginx怎么启动和关闭?

nginx是什么意思?nginx(engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra...