apache与nginx上传目录无执行权限的解决办法

apache上传目录设置无权限的例子:
<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同样也是可应用的

另外一种方法:
<Directory "/var/www/upload">
php_admin_flag engine off
</Directory>
这种执行时会直接变成下载。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值