2020-12-30 10:33:02
•
1292
利用伪静态功能禁止以下目录运行php脚本
linux主机的用户一般都是apache环境,使用 .htaccess 文件来设置,如果你网站根目录已经存在这个文件,那就复制一下代码添加进去。
RewriteEngine on #安全设置 禁止以下目录运行指定php脚本 RewriteCond % !^$ RewriteRule a/(.*).(php)$ – [F] RewriteRule data/(.*).(php)$ – [F] RewriteRule templets/(.*).(php|htm)$ – [F] RewriteRule uploads/(.*).(php)$ – [F]
windows主机的用户一般都是iis7、iis8环境,使用 web.config 文件来设置,请确认你的主机已经开启了伪静态而且网站根目录有 web.config 文件,有这个文件的可以复制以下代码添加到对应的rules内。
<rule name="Block data" stopProcessing="true"> <match url="^data/(.*).php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="data" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /> </rule> <rule name="Block templets" stopProcessing="true"> <match url="^templets/(.*).php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="templets" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /> </rule> <rule name="Block SomeRobot" stopProcessing="true"> <match url="^uploads/(.*).php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="SomeRobot" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /> </rule>
Nginx下禁止指定目录运行PHP脚本
location ~* /(a|data|templets|uploads)/(.*).(php)$ { return 403; }
注意:这段配置文件一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后记得重启Nginx生效。
测试有没有生效,可以随便创建一个PHP文件传到uploads文件夹下,执行:域名/uploads/测试文件.php 如果不能打开说明生效。