使用Discuz3.X的找回密码功能后,点击邮件收到的找回密码链接,输入信息却被告知“参数错误”(如图)
这是因为Discuz3.X采用了新的验证机制,在验证链接的hash之外还验证了sign,但是修改密码的页面并没有写入这一项,因此需要我们手动修改。
解决办法是:
打开source\module\member\member_getpasswd.php
在第32行找到
1 |
$uid = $_GET['uid']; |
在下面添加一行
1 |
$sign = $_GET['sign']; |
再打开template\default\member\getpasswd.htm
找到第8行
1 |
<form method="post" autocomplete="off" action="member.php?mod=getpasswd&uid=$uid&id=$hashid"> |
修改为
1 |
<form method="post" autocomplete="off" action="member.php?mod=getpasswd&uid=$uid&id=$hashid&sign=$sign"> |
重新点一下找回密码链接发现问题已经解决啦。顺便说一下,Discuz完全是把用户当小白鼠忽悠。
======
kujou_rin