有问题的部分全部消除。如果发生了问题,只要将问题本身消除掉就没问题了。 收藏本站
登陆 / 注册 搜索

阅读:4.8K   回复: 2

Discuz 游客搜索出现 您当前访问请求中含有非法字符

原创 [复制链接]
小执念 古黑浩劫论坛大牛 2019-11-18 17:17 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
一、为什么会出现这个问题?

这是因为开启了主页/帖子页文件缓存,然后搜索表单的 formhash 也会被缓存,就会导致后面的游客 formhash 与当前不一致。

由于 Discuz! X 的 Xss 安全机制,会对搜索内容进行安全检查,如果 formhash 不一样,就会出现 "您当前访问请求中含有非法字符",已被系统拒绝" 。
✊🧳🍌®🐂‎
二、如何解决?

解决方案:将这个提示改为跳转到 search.php 如果你启用了游客搜索,就会跳转到 search.php 页面,没有没有开启游客搜索,就会提示登陆。

👊⛴🥄➡🐖‏打开

  1. /source/class/discuz/discuz_application.php
复制代码


查找
🤞🍏🆗🦮‏
  1. if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash())
复制代码


修改成如下:
  1.        if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {
  2.             if(CURSCRIPT == search && !$_G['uid']){ //判断是否是游客 是否是搜索页

    ✍🚐🍒♻🦕‌

  3.             header("Location: https://".$_SERVER['HTTP_HOST']."/search.php"); // 302 跳转到 search.php
  4.             }
  5.             else{
  6.             system_error('request_tainting');
  7.             }

    👵‎🪖🖲😛


  8.         }
复制代码



修改后如图:
Discuz 游客搜索出现 您当前访问请求中含有非法字符 您当前访问请求中含有非法字符.png
👦‍👙🧬🙄
上一篇
下一篇
帖子热度 4780 ℃

降临1994 「出类拔萃」 2019-11-18 17:25 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

路过
            
✎______________________________________
          ✎﹏๓₯㎕✉    
            有些人,一辈子都不会在一起,但是可以藏在心里一辈子。🥷‌🎩💳😈👍
小执念 古黑浩劫论坛大牛 2019-11-29 00:48 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
测试内容高亮
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表