如果运行环境是nginx的
在宝塔面板后台-网站,点击你需要设置的网站设置
配置文件里面。找到 #PHP-INFO-START PHP引用配置,可以注释或修改,在它上面添加:
location ~* /(a|data|templets|uploads)/(.*).(php)$ {
return 403;
}
return 403;
}
其中括号里面的(a|data|templets|uploads)是你需要禁止运行PHP的文件夹名称,你可自行添加或者删除。
保存。在软件管理里面重启Nginx服务。
随意新建一个PHP文件,文件内容随意,把它上传到你的需要禁止运行PHP的目录里面。如果访问正常,说明配置没有生效。如果显示如下图所示,说明配置成功。
如果你的php运行环境是apache,可使用 .htaccess 文件来设置,
RewriteEngine on
#安全设置 禁止以下目录运行指定php脚本
RewriteCond % !^$
RewriteRule a/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php|htm)$ – [F]
RewriteRule uploads/(.*).(php)$ – [F]
#安全设置 禁止以下目录运行指定php脚本
RewriteCond % !^$
RewriteRule a/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php|htm)$ – [F]
RewriteRule uploads/(.*).(php)$ – [F]
然后把.htaccess文件放到网站根目录下。重启apache服务。
如果运行环境是iis的,用 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>
<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>