使用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