兔源码网 - 专注DZ模版分享、DZ插件分享!

 找回密码
 立即注册

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 135|回复: 0
收起左侧

【实测】完美解决Discuz! 出现“您当前的访问请求当中含有非法字符“

[复制链接]
  • TA的每日心情
    萌哒
    6 天前
  • 1266

    主题

    1280

    帖子

    2395

    积分

    兔校长

    Rank: 9Rank: 9Rank: 9

    萝卜
    0 棵


    兔毛
    263 朵


    兔币
    14065 枚


    经验
    2395 点


    最佳新人管理/版主土豪装逼

    tuyuanma 发表于 2018-2-11 16:28:41 | 显示全部楼层 |阅读模式
    【实测】完美解决Discuz! 出现“您当前的访问请求当中含有非法字符“
    解决方案一:
    查找
    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.         }
    复制代码
    解决方案二:
    因为清除痕迹功能已取消,语言包没有及时更新导致,点击清除痕迹出现以上错误  
    解决方法为:
    文件目录:source/language/lang_message.php
    游客,如果您要查看本帖隐藏内容请回复

    上传覆盖此文件,后台更新缓存。

    版权声明
    1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
    2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
    3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




    102505fovgvzt1w3i1biot.jpg.thumb.jpg
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    兔源码网 ( 赣ICP备17001544号 公网安备36112102000036号 )

    QQ交流群:493651246  GMT+8, 2018-5-21 19:06
    ←站长统计工具 查看密码:tuyuanma

    兔源码DZ模板下载 站长邮箱:tuyuanma@qq.com 站长QQ:3197813386

    © 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

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