火车采集器发布出现”您当前的访问请求当中含有非法字符,已经被系统拒绝”

部分用户向我反映我的dx接口系列,在dx3.1发布的时候出现这样的错误提示,无法发布,通过接口发布却是正常的。

查了一下原因,发现这跟火车采集器在发布时使用urlencode模式有关。

解决方法如下:
1,使用火车采集器2008及之前版本,额,当我没说过
2,如果你使用的是我发布的接口,可以修改接口配置文件locoy.config.php,在配置文件末尾添加一行代码
[php]
define("DISABLEXSSCHECK", 1);
[/php]
即只在火车采集器发布内容时,禁用安全检查,此方法只在接口模式下生效,正常用户访问论坛依然受安全检查

3,如果你没有使用我的接口,则可以修改dx的配置文件 config/config_global.php,禁用dx的安全检查
[php]
// 站点安全设置
$_config[‘security’][‘authkey’] = ‘asdfasfas’; // 站点加密密钥
$_config[‘security’][‘urlxssdefend’] = true; // 自身 URL XSS 防御
$_config[‘security’][‘attackevasive’] = 0; // CC 攻击防御 1|2|4|8
[/php]
即将$_config[‘security’][‘urlxssdefend’]改成0;
但这样会禁用全局的安全检查,可能会引发一些不安全的恶意攻击,此方法不推荐。