聚名网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 147|回复: 0

[discuz教程] Discuz! 出现“您当前的访问请求当中含有非法字符“解决方法

[复制链接]

3473

主题

3489

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10761
发表于 2017-6-30 10:31:21 | 显示全部楼层 |阅读模式
  故障描述退出登录时出现”您当前的访问请求当中含有非法字符,已经被系统拒绝“错误。


  解决方案如下:
  \source\class\discuz的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;
  •         }

[color=rgb(51, 102, 153) !important]复制代码




替换为:
     
  • 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;
  •         }

[color=rgb(51, 102, 153) !important]复制代码

  上传覆盖同名文件,后台更新缓存,重新登录退出看看是否解决了。

回复

使用道具 举报

随机推荐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表