首页 教程资源正文

解决Discuz“您当前的访问请求当中含有非法字符“的方法

娜迦源码 教程资源 2019-04-19 01:10:22 300 0 教程资源

故障描述: 
退出登录时出现”您当前的访问请求当中含有非法字符,已经被系统拒绝“错误。如下图: 
解决方法: 
打开 \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; 

修改为 
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:如非特殊说明,本站对提供的源码不拥有任何权利,其版权归原著者拥有。

2:请勿将该源码、软件进行商业交易、转载等行为,该源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。

3:本网站所有源码和软件均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信(邮箱:393249296@qq.com)指出,本站将立即改正。

本文链接:https://www.wsx6.cn/post/1315.html

分享:

支付宝

微信

嘿,我是客服
请先 登录 再评论,若不是会员请先 注册