Discuz论坛游客未登录搜索后出现 Discuz! System Error 错误!

Dsicuz论坛在会员未登录状态或者游客使用搜索功能时提示Discuz! System Error错误,错误提示如下:

Discuz! System Error

•您当前的访问请求当中含有非法字符,已经被系统拒绝

这个是广告编辑地方

PHP Debug

•[Line: 0022]search.php(discuz_application->init)
•[Line: 0071]source/class/discuz/discuz_application.php(discuz_application->_init_misc)
•[Line: 0552]source/class/discuz/discuz_application.php(discuz_application->_xss_check)
•[Line: 0355]source/class/discuz/discuz_application.php(system_error)
•[Line: 0023]source/function/function_core.php(discuz_error::system_error)
•[Line: 0024]source/class/discuz/discuz_error.php(discuz_error::debug_backtrace)

测试Discuz! X3.1/Discuz! X3.2解决办法如下:

登陆FTP查找 source/class/discuz/discuz_application.php 文件,查找如下代码:

if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) ||  isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) {
	system_error('request_tainting');
	}

然后注释掉这段代码即可,注释代码方法有2种,如下:

/*if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) ||  isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) {
	system_error('request_tainting');
	}*/

或者:

//if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) ||  isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) {
	//system_error('request_tainting');
	//}

然后保存覆盖原文件(修改代码前注意备份该文件),登陆论坛后台-工具-刷新缓存即可。

—————————————

此方案如未解决请参考:http://www.lajiz.cn/2687.html

—————————————

本文由垃圾站博客编辑整理,转载请保留原文链接:http://www.lajiz.cn/2676.html

本文固定链接: http://www.lajiz.cn/2676.html | 垃圾站

该文章由 sdujane 于2016年07月18日发表在 Discuz教程 分类下, 访客可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客!
原创文章,转载请注明: Discuz论坛游客未登录搜索后出现 Discuz! System Error 错误! | 垃圾站
关键字:

Discuz论坛游客未登录搜索后出现 Discuz! System Error 错误!:目前有1 条留言

  1. 沙发
    sdujane:

    经测试出现:刷新后台缓存游客可正常搜索,但过一段时间就会出现Discuz!System Error,再次刷新缓存又正常!

    2016-08-29 上午 12:57 [回复]

发表评论

快捷键:Ctrl+Enter