Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] [反馈BUG] 升级20131122后搜索出现错误,您当前的访问请求当中含有非法字符

[复制链接]
戀上伱の温柔↗ 发表于 2013-11-23 11:38:36 | 显示全部楼层 |阅读模式
刚升级了20131122版本,搜索是出现出错。怎么解决啊,急!!!!

本帖子中包含更多资源

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

x
服务器杀手 发表于 2013-11-24 09:43:06 来自手机 | 显示全部楼层
打开source\class\discuz\discuz_application.php
替换350行左右的函数private function_xss_check()

当前需要替换的代码:
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;
}

暂时修改回去就ok了

来自南坝论坛http://www.84577.cn
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-26 11:36 , Processed in 0.025020 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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