颠覆霸主

 找回密码
 立即注册

QQ登录

只需一步,快速开始

discuz论坛您当前的访问请求当中含有非法字符解决方法

[复制链接] [添加相关主题]
godkings 发表于 2018-12-29 17:41:34 | 显示全部楼层 |阅读模式
discuz论坛提示“Discuz! System Error 您当前的访问请求当中含有非法字符,已经被系统拒绝”这个还真是一个顽固bug?看了有不同程度的人有不同的操作方式出现这个错误,有的是登录时,有的是随时内容时,还有的是发帖时……

而最讨厌的是网上针对这个的解决办法都是一样的,打开discuz根目录\source\class\discuz\discuz_application.php文件,查找
  1. private function _xss_check() {

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

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

  6.                 if($_SERVER['REQUEST_METHOD'] == 'GET' ) {
  7.                         $temp = $_SERVER['REQUEST_URI'];
  8.                 } elseif(empty ($_GET['formhash'])) {
  9.                         $temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');
  10.                 } else {
  11.                         $temp = '';
  12.                 }

  13.                 if(!empty($temp)) {
  14.                         $temp = strtoupper(urldecode(urldecode($temp)));
  15.                         foreach ($check as $str) {
  16.                                 if(strpos($temp, $str) !== false) {
  17.                                         system_error('request_tainting');
  18.                                 }
  19.                         }
  20.                 }

  21.                 return true;
  22.         }
复制代码


将其替换为:
  1. private function _xss_check() {
  2.                 $temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));
  3.                 if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {
  4.                         system_error('request_tainting');
  5.                 }
  6.                 return true;
  7.         }
复制代码

也许有人解决问题了吧?至少我没有,真的高兴的太早,我是发帖的时候出现【Discuz! System Error 您当前的访问请求当中含有非法字符,已经被系统拒绝】提示,当时幸好备份了一下,按照上面的方法替换代码了,在预料之中,又出现了新的的问题:


有种抓狂的感觉,这不是老文图没有解决新问题又来了,于是赶紧恢复文件,当时因为win服务器安装更新需要重启,且没有什么心情看问题,于是就重启了服务器,又过了一天,继续测试,不知道为啥——好了!真是好奇怪好神奇~什么也没有做,就重启了一下服务器。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x


上一篇:discuz手机版touch分类信息图片不显示的解决方法
下一篇:discuz应用中心购买的插件破解模板破解安装到其他网站方法

相关帖子

回复

使用道具 举报

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

本版积分规则

QQ| Archiver|小黑屋| 颠覆霸主 ( 京ICP备12023415号-2 )

声明:本站的任何信息和内容仅代表作者的立场和观点,与颠覆霸主网无关。

禁止在颠覆霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2022-8-18 18:39 , Processed in 0.093177 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.