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
Discuz论坛游客未登录搜索后出现 Discuz! System Error 错误!:目前有1 条留言
发表评论

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