最近碰到個問題,phpcms管理員的密碼丟了,想改數據庫找回來,翻了翻數據庫發現涉及密碼的兩個表是xx_member和 xx_member_cathe,(xx是前綴),然后密碼是MD5加密的格式,于是乎就想當然的把admin md5加密后替換進去,結果再登錄還是提示密碼錯誤,改了幾次結果提示5次機會已過,被屏蔽1小時,好崩潰.
到處翻了翻代碼發現在admin/login.inc.php里面有屏蔽IP1小時的代碼,把下面這行里的3600改成1就行了.
$times->set(‘login’, $PHPCMS['maxiplockedtime']*3600, $PHPCMS['maxloginfailedtimes']);
關于密碼,在網上搜了一下,原來phpcms2008采用了會員密鑰這么一個概念,其實他就是一個字符串,當會員注冊提交后,先將會員密鑰和會員的 密碼連接起來,然后在md5,而一般的普通系統就是直接給予md5加密,這樣別人通過md5直接查詢出來的密碼和用戶本身的密碼就對不上號了.從而加大了 密碼強度,防止被破解.
方法是先在include/config.inc.php文件里找到PASSWORD_KEY對應的字符串.
例如我的是:define('PASSWORD_KEY', 'jmjt'); //會員密碼密鑰,為了加強密碼強度防止暴力破解,不可更改,然后用notepad建個php文件,代碼如下:
- <?php
- function password($password)
- {
- return md5(PASSWORD_KEY.$password);
- } //Vevb.com
- echo password(admin);
- ?>
其中admin即為密碼,你可以任意修改,PASSWORD_KEY就是上面找到的字符串.
然后把加密后的字符串復制到表xx_member和xx_member_catche里面密碼的字段里,就可以登錄了.
新聞熱點
疑難解答