# dedecms如何利用伪静态功能禁止指定目录运行

*Published:* 2023-08-31
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年8月31日，已超过 180天没有更新



一个爆网站后台的方法：就是访问/data/mysql\_error\_trace.inc或者/data/mysqli\_error\_trace.inc，分析里面的代码来爆网站后台。可在[伪静态](https://www.xarjtc.com/tag/%e4%bc%aa%e9%9d%99%e6%80%81 "查看伪静态此标签更多文章")配置文件里加入下面代码即可,这是nginx下的配置文件，亲测有效，其他运行环境自行转换。

```
location /data {
rewrite ^/data\/(.*)$ /404.html;
}
```

这样，访问DATA的文件全都会提示404错误。亲测有效！

我们可以关闭这个生成这个文件，打开 /include/dedesql.class.php 找到下面几行删除就行了。如果你的 data 文件夹里面有 mysql\_error\_trace.inc 文件，记得删除它。

```
//保存MySql错误日志
$fp = @fopen($errorTrackFile, 'a');
@fwrite($fp, '<'.'?php  exit();'."\r\n/*\r\n{$savemsg}\r\n*/\r\n?".">\r\n");
@fclose($fp);
```

同理我们还可以设置禁止访问plus|templets|uploads等目录

```
location /plus {
rewrite ^/plus\/(\w+)\.php(.*)$ /404.html;
}
location /templets {
rewrite ^/templets/(.*)/(.*).htm$ /404.html;
}
location /uploads {
rewrite ^/uploads\/(\w+)\.php(.*)$ /404.html;
}
```

利用伪静态功能禁止以下目录运行php脚本

apache环境

```
RewriteEngine on
#安全设置 禁止以下目录运行指定php脚本
RewriteCond % !^$
RewriteRule data\/(.*)$ /404.html;
RewriteRule a/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php|htm)$ – [F]
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule images/(.*).(php)$ – [F]
```

Nginx环境

这段配置代码一定要放在location~.php(.\*)$的前面才可以生效，配置完后记得重启Nginx生效。

```
location ~* /(a|data|templets|uploads|images)/(.*).(php)$ {
    return 403;
}
```

iis环境

```
<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>
```