Nginx、Apache禁止上传目录的php执行权限

本文详细介绍了在Nginx和Apache环境下,如何通过配置文件实现对指定目录下的PHP文件执行权限的限制,以增强服务器的安全性。通过在站点配置文件中加入特定的location语句和denyall指令,可以阻止特定目录的PHP文件被直接执行。同时,以Apache模块方式运行PHP,并利用Directory和Files指令进一步限制了对上传目录和附件目录的访问权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Nginx下做如下设置
(注:加在站点配置文件内,必须在fastcgi的location语句的前面添加,因为加载有顺序要求的,另外正则的匹配优于非正则)
1、单个目录

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

将attachments目录的PHP执行权限去掉。

2、多个目录

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

将attachments、upload这二个目录的PHP执行权限去掉。 添加完执行:/usr/local/nginx/sbin/nginx -t测试配置文件,执行:/usr/local/nginx/sbin/nginx -s reload 载入配置文件使其生效。

在Apache下做如下设置
以Apache 模块方式运行 PHP

<Directory /www/www.example.com/upload>
php_flag engine off
</Directory>

<Directory ~ "^/www/.*/upload">
 <Files ~ ".php">
 Order allow,deny
 Deny from all
 </Files>
</Directory>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值