Discuz3.2游客搜索提示:您当前的访问请求当中含有非法字符,已经被系统拒绝

错误描述:Discuz3.2在未登录时(游客)搜索提示如下错误:“您当前的访问请求当中含有非法字符,已经被系统拒绝”,当管理员在后台更新缓存后游客再次搜索则正常出现搜索内容,但过一段时间后游客如果搜索又会出现如上错误。

提示信息:PHP:search.php:0022 -> source/class/discuz/discuz_application.php:0071 -> source/class/discuz/discuz_application.php:0552 -> source/class/discuz/discuz_application.php:0355 -> source/function/function_core.php:0023 -> source/class/discuz/discuz_error.php:0024

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

产生原因:由于Discuz!X 的Xss安全机制,会对游客访问时进行字符内容安全检查,特别是游客使用搜索功能时,搜索容易出现 “您当前访问请求中含有非法字符,已经被系统拒绝” 。

这个是广告编辑地方

解决办法:将错误提示直接跳转用户登录页面。

打开:/source/class/discuz/discuz_application.php

搜索下面代码:

if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {
                        system_error('request_tainting');
                }

替换为:

if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {
                        //system_error('request_tainting');
                          //header('HTTP/1.1 301 Moved Permanently');
                          header("Location: http://".$_SERVER['HTTP_HOST']."/member.php?mod=logging&action=login");
                          exit;
                }

如果网站部署了SSL,将上述代码中的http修改为https即可。

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

该文章由 sdujane 于2020年03月18日发表在 Discuz教程 分类下, 访客可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客!
原创文章,转载请注明: Discuz3.2游客搜索提示:您当前的访问请求当中含有非法字符,已经被系统拒绝 | 垃圾站
关键字: ,

Discuz3.2游客搜索提示:您当前的访问请求当中含有非法字符,已经被系统拒绝:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter