需禁用敏感目录PHP解析以防范恶意代码执行,方法包括:一、修改Nginx/Apache配置;二、使用宝塔目录访问权限功能;三、Apache下配置.htaccess;四、调整Linux目录权限;五、启用宝塔防火墙URL过滤规则。

如果您在宝塔面板中托管网站,但希望防止攻击者通过上传恶意PHP文件利用敏感目录执行代码,则需对特定目录禁用PHP解析能力。以下是实现该目标的多种操作方法:
一、通过网站配置文件手动禁用PHP执行
此方法直接修改Nginx或Apache的站点配置,针对指定目录全局屏蔽PHP脚本解析,适用于所有PHP版本且生效迅速。
1、登录宝塔面板,进入【网站】页面,找到对应站点,点击【设置】。
2、切换到【配置文件】选项卡,根据所用Web服务器选择对应操作:
立即学习“PHP免费学习笔记(深入)”;
3、若使用Nginx:在location ~ \.php$块之外,添加如下规则(以禁止/upload目录为例):
location ^~ /upload/ { deny all; }
4、若使用Apache:在配置末尾添加:zuojiankuohaophpcnDirectory "/www/wwwroot/your-site.com/upload"> php_flag engine off </Directory>
5、保存配置文件后,点击【重载配置】按钮使更改生效。
二、使用宝塔内置的“目录访问权限”功能
该方式无需编辑配置文件,通过图形化界面快速限制指定目录的脚本执行与访问行为,适合不熟悉服务器配置的用户。
1、进入目标站点【设置】→【网站目录】。
2、在【防跨站攻击(open_basedir)】下方,点击【目录限制访问】右侧的【设置】按钮。
3、在弹出窗口中,点击【添加目录】,输入敏感目录相对路径,例如:/data 或 /config。
4、勾选【禁止执行PHP】选项,同时可选【禁止访问】以彻底阻断HTTP请求。
5、点击【提交】,系统自动写入规则并重启相关服务。
三、通过.htaccess文件限制(仅限Apache环境)
此方法利用Apache的分布式配置机制,在敏感目录内单独部署规则,具备高灵活性和目录级粒度控制能力。
1、使用宝塔【文件】管理器,进入目标敏感目录(如/www/wwwroot/your-site.com/runtime)。
2、点击【新建文件】,命名为:.htaccess。
3、在文件中写入以下内容:
php_flag engine off
Order Allow,Deny
Deny from all
4、保存文件,确保该目录下无其他覆盖性.htaccess规则。
四、修改目录所属用户与权限(Linux系统级防护)
通过调整文件系统权限,从底层阻止Web服务器进程读取或执行敏感目录中的PHP文件,增强纵深防御能力。
1、在【文件】管理器中右键点击目标目录(如/www/wwwroot/your-site.com/admin),选择【权限设置】。
2、将【所有者】设为:root,【所属组】保持不变或设为root。
3、将权限数字设为:750(即rwxr-x---),确保nginx或apache用户无写入权限且无法执行PHP。
4、勾选【递归设置权限】,点击【确定】应用至全部子文件与子目录。
五、使用宝塔防火墙插件拦截PHP文件访问请求
借助商业版宝塔防火墙的自定义规则功能,可在请求到达Web服务器前识别并拒绝含PHP扩展名的敏感路径访问。
1、安装并启用【宝塔防火墙】插件(需付费版)。
2、进入【防火墙】→【自定义规则】→【URL过滤】。
3、点击【添加规则】,填写如下参数:
规则名称:禁用敏感目录PHP执行
匹配URL:包含 /config/*.php|/data/*.php|/install/*.php
动作类型:拒绝访问
4、启用该规则,点击【保存】。











