返回列表 发帖
查看: 1633|回复: 3

[新问题] [紧急]当站点设置通过邮件发送的地址完成注册时无限循环

1

主题

4

回帖

10

积分

初学乍练

贡献
0 点
金币
5 个
发表于 2022-8-16 10:29:03 | 显示全部楼层 |阅读模式
BUG反馈
程序版本: X3.4
浏览器: Chrome 
BUG地址: 隐藏内容
BUG截图:
测试用户名: 隐藏内容
测试密码: 隐藏内容


这个BUG已经持续很久了。当站点设置通过邮件发送的地址完成注册时,会无限循环(打开邮件中的地址没有下一步注册,还是显示最初的注册页面)

百度搜索到的解决方案现在已经全部没用了。
很急,求解决!

Discuz! 程序版本
Discuz! X3.4 R20220518 UTF-8
查看最新版本
Discuz! X3.4 R20220518 UTF-8 [ 刷新 ]  

最新版下载备用下载地址  |  QQ群:874112378
UCenter 客户端版本
UCenter 1.6.0 Release 20170101
服务器系统及 PHP
WINNT / PHP v7.3.18
服务器软件
Microsoft-IIS/10.0
服务器 MySQL 版本
5.5.5-10.4.12-MariaDB
上传许可
256M




QQ截图20220816103149.png QQ截图20220816103156.png QQ截图20220816103202.png


我知道答案 回答被采纳将会获得1 贡献 已有3人回答
回复

使用道具 举报

3

主题

666

回帖

24万

积分

管理员

官方有偿服务QQ 1453650

贡献
116 点
金币
240000 个
QQ
发表于 2022-8-16 12:50:01 | 显示全部楼层
后台校验文件,看是不是改过什么
回复 支持 反对

使用道具 举报

1

主题

4

回帖

10

积分

初学乍练

贡献
0 点
金币
5 个
 楼主| 发表于 2022-8-16 17:53:54 | 显示全部楼层
Discuz有偿服务 发表于 2022-8-16 12:50
后台校验文件,看是不是改过什么

                $gethash = isset($_GET['hash']) ? $_GET['hash'] : $param['hash'];
                $email = isset($_GET['email']) ? $_GET['email'] : $param['email'];
                $sendurl = $this->setting['sendregisterurl'] ? true : false;
                if($sendurl) {
                        if(!empty($gethash)) {
                                $gethash = preg_replace("/[^\[A-Za-z0-9_\]%\s+-\/=]/", '', $gethash);
                                $hash = explode("\t", authcode($gethash, 'DECODE', $_G['config']['security']['authkey']));
                                if(is_array($hash) && isemail($hash[0]) && TIMESTAMP - $hash[1] < 259200) {
                                        $sendurl = false;
                                }
                        }
                }
回复 支持 反对

使用道具 举报

1

主题

4

回帖

10

积分

初学乍练

贡献
0 点
金币
5 个
 楼主| 发表于 2022-8-16 17:58:16 | 显示全部楼层
Discuz有偿服务 发表于 2022-8-16 12:50
后台校验文件,看是不是改过什么

还有我修改过discuz_application.php 因为发帖老提示"|您当前的访问请求当中含有非法字符":

        private function _xss_check() {
                $temp = strtoupper(urldecode(urldecode($_SERVER[‘REQUEST_URI’])));
                if(strpos($temp, ‘<‘) !== false || strpos($temp, ‘”‘) !== false || strpos($temp, ‘CONTENT-TRANSFER-ENCODING’) !== false) {
                        system_error(‘request_tainting’);
                }
                return true;
        }
回复 支持 反对

使用道具 举报

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

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-4-25 12:42 , Processed in 0.069825 second(s), 10 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表