兔源码_免费的Discuz模板|插件|素材|建站资源下载

 找回密码
 立即注册

QQ登录

只需一步,快速开始

返回列表 

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

[复制链接]

欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]

错误描述: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
搜索下面代码:
  1. if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {
  2.                         system_error('request_tainting');
  3.                 }
复制代码
替换为:
  1. if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {
  2.                         //system_error('request_tainting');
  3.                           //header('HTTP/1.1 301 Moved Permanently');
  4.                           header("Location: http://".$_SERVER['HTTP_HOST']."/member.php?mod=logging&action=login");
  5.                           exit;
  6.                 }
复制代码
如果网站部署了SSL,将上述代码中的http修改为https即可。

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。



493651246站长邮箱:tuyuanma@qq.com 站长QQ:3197813386

© 2015-2021 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

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