Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

用户退出后点清除痕迹出现错误页面

[复制链接]
yhrxl 发表于 2013-11-26 16:46:10 | 显示全部楼层 |阅读模式
升级到最新后,存在这个问题,造成原因可能是“formhash”导致。

因为用户退出后,此时用户的信息已经清空,所以当用户点击“清除痕迹”时会报附件中的错。

对于目前我的一个解决方法是在“清除痕迹”时不再再次验证“formhash”这个值。
修改文件如下语言包:【source/language/lang_message.php】


  1. 226行和227行修改如下
  2. 'logout_succeed' => '您已退出站点,现在将以游客身份转入退出前页面,请稍候…… <br /><a href="member.php?mod=clearcookies&referer={referer}">[ 清除痕迹 ]</a> {ucsynlogout} ',
  3.   'location_logout_succeed_mobile' => '您已退出站点,现在将以游客身份转入退出前页面,请稍候…… <br /><a href="member.php?mod=clearcookies&referer={referer}">[ 清除痕迹 ]</a>',
复制代码
删除【&formhash={formhash}】参数即可。



  1. private function _xss_check() {

  2.                 static $check = array('"', '>', '<', '\'', '(', ')', 'CONTENT-TRANSFER-ENCODING');

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

  6.                 if($_SERVER['REQUEST_METHOD'] == 'GET' ) {
  7.                         $temp = $_SERVER['REQUEST_URI'];
  8.                 } elseif(empty ($_GET['formhash'])) {
  9.                         $temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');
  10.                 } else {
  11.                         $temp = '';
  12.                 }

  13.                 if(!empty($temp)) {
  14.                         $temp = strtoupper(urldecode(urldecode($temp)));
  15.                         foreach ($check as $str) {
  16.                                 if(strpos($temp, $str) !== false) {
  17.                                         system_error('request_tainting');
  18.                                 }
  19.                         }
  20.                 }

  21.                 return true;
  22.         }
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

下砂 发表于 2013-11-27 13:00:40 | 显示全部楼层
这个是语言包的问题~ 一会我会更新
回复

使用道具 举报

babyfacer 发表于 2013-11-27 14:04:32 | 显示全部楼层
解决用户退出点击清除痕迹出现BUG的临时解决方案
https://discuz.dismall.com/thread-3485502-1-1.html
(出处: Discuz! 官方站)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-10 15:41 , Processed in 0.098296 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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