discuzX3.1后台报错“您当前的访问请求当中含有非法字符,已经被系统拒绝”处理方法

这是因为新版本的原因,按照以下操作即可修复:

FTP 进入网站根目录 找到路径为 sourceclassdiscuz的discuz_application.php 的文件并编辑
查找到:

private function _xss_check() {

static $check = array('"', '>', '<', ''', '(', ')', 'CONTENT-TRANSFER-ENCODING');

if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {
system_error('request_tainting');
}

if($_SERVER['REQUEST_METHOD'] == 'GET' ) {
$temp = $_SERVER['REQUEST_URI'];
} elseif(empty ($_GET['formhash'])) {
$temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');
} else {
$temp = '';
}

if(!empty($temp)) {
$temp = strtoupper(urldecode(urldecode($temp)));
foreach ($check as $str) {
if(strpos($temp, $str) !== false) {
system_error('request_tainting');
}
}
}

return true;
}

修改为:

private function _xss_check() {
$temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));
if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {
system_error('request_tainting');
}
return true;

 

本文由 蓝洛水深 作者:蓝洛水深 发表,其版权均为 蓝洛水深 所有,文章内容系作者个人观点,不代表 蓝洛水深 对观点赞同或支持。如需转载,请注明文章来源。
1

发表评论