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

  • 2015-6-1 22:44
  • PHP二次开发网
  • 阅读(3809)
  • 评论(0)
  • 来源:互联网
  • 摘要: 故障描述退出登录时出现”您当前的访问请求当中含有非法字符,已经被系统拒绝“错误。Discuz! X 最新研发动态通过这个窗口,关注跟踪我们的研发进展Discuz! 开发技术文库 - 给官方提建议Discuz!跨时代产品X3.2发布 ...
    故障描述退出登录时出现”您当前的访问请求当中含有非法字符,已经被系统拒绝“错误。

    解决方案如下:


    \source\class\discuz的discuz_application.php
    查找
      

      

    [代码]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;
                }
    


    替换为:

    [代码]php代码:

        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;
                }


    PHP技术交流QQ群:422137578

    除非注明,文章均为 PHP二次开发 原创,转载请注明本文地址:http://www.php2.cc/article-1812-1.html

    相关阅读

    最新评论

    用户名:  *

    邮 箱:  *

    网 址: 注意加上“http://”哦!