周天的時(shí)候一個(gè)之前的朋友發(fā)來(lái)信息說(shuō)網(wǎng)站后臺(tái)的密碼忘記了,詢(xún)問(wèn)如何解決,通過(guò)電話(huà)告知找回密碼之類(lèi)的操作,但因?yàn)闆](méi)有設(shè)置smtp服務(wù)器,導(dǎo)致無(wú)法找回,所以就遠(yuǎn)程看了下問(wèn)題,是使用的phpcms進(jìn)行的建站,而且有服務(wù)器權(quán)限,那么問(wèn)題就好辦多了,之前我們文匯軟件寫(xiě)過(guò)一篇DEDECMS忘記后臺(tái)密碼的文章,那么phpcms是否也可以使用這個(gè)方法來(lái)解決呢?
phpcms因?yàn)楣δ軓?qiáng)大而且自定義模塊使用方便,用來(lái)建站的用戶(hù)越來(lái)越多,時(shí)間長(zhǎng)了網(wǎng)站后臺(tái)密碼忘記了怎么辦呢?有沒(méi)有什么方便快捷的方法進(jìn)行找回呢?
作為網(wǎng)站的管理者,肯定有訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限,最有效最直接的重置密碼的辦法就是通過(guò)修改數(shù)據(jù)庫(kù)中的信息來(lái)重置密碼,通過(guò)命令行工具或者phpmyadmin進(jìn)入mysql數(shù)據(jù)庫(kù),查找v9_admin表(如果修改了表前綴記得尋找對(duì)應(yīng)前綴的表名),找到你的網(wǎng)站管理員用戶(hù),修改password字段以及encrypt字段,分別修改為:62d2ff1e3d42334e6216d628a5051c08 7YIwnY 然后密碼就被重置為:phpcms 。
通過(guò)上一步的操作是否和dedecms忘記密碼的操作是否大致一樣呢?那么不同點(diǎn)在哪里,現(xiàn)在就由專(zhuān)業(yè)的建站公司文匯軟件來(lái)為大家講解下,phpcms比dedecms在數(shù)據(jù)庫(kù)中的字段多了一個(gè)encrypt,那么這個(gè)字段具體是做什么用處的呢?我們來(lái)查找源代碼來(lái)分析下,密碼加密方法可以在/phpcms/member/index.php中的login中可以找到,其中最關(guān)鍵的一句程序如下:
//驗(yàn)證用戶(hù)密碼 $password = md5(md5(trim($password)).$r['encrypt']);
通過(guò)這句話(huà)我們可以看出,phpcms密碼的加密方式是先將密碼兩邊去空字符串然后一次md5加密,然后鏈接生成的encrypt串(一個(gè)隨機(jī)生成的字符串),然后在對(duì)連接后的字符串一次md5加密,就是我們專(zhuān)業(yè)名稱(chēng)叫做加鹽加密。所以對(duì)于phpcms不只是修改密碼的md5還需要修改encrypt這個(gè)才可以生效。
關(guān)于找回PHPCMS v9后臺(tái)密碼還有另一個(gè)簡(jiǎn)單的方法,就是本文中提供的附件tool.php,可以直接上傳至網(wǎng)站根目錄,然后使用域名+tool.php訪問(wèn),點(diǎn)擊提交即可完成新密碼的修改。
如果您的網(wǎng)站有關(guān)于密碼重置的問(wèn)題,可以隨時(shí)聯(lián)系我們,我們專(zhuān)業(yè)的技術(shù)團(tuán)隊(duì)會(huì)為您解決一切關(guān)于phpcms的問(wèn)題。