WordPress內容管理系統(Content Management System, CMS)的管理員帳號(Administrator)擁有最高尚大的網站管理權限,能夠掌管小小世界裡的一切生殺大權。因此一旦遺失管理人員的登入密碼,等於整個網站也就半殘了。
WordPress系統開發者當然不會讓使用者發生這種終末事件,下面列舉四種讓管理員可以重新設定(重置)新密碼的方法,難度由簡單到複雜(危險)提供給各位苦逼站長們參考。
WordPress帳號密碼重新設定(重置)
一,重發密碼設定信
請參考下圖一,在登錄頁面(wp-login.php)點選「忘記密碼」,接著依照提示操作即可將密碼重新設定通知信函發送到電子郵箱內。
使用這個方法雖然最方便簡單,但是很多WordPress伺服器供應商為了安全理由,都會封鎖外寄電子郵件的功能。如果站長先前沒有檢查確認過,很可能會導致雖然手動重新設定密碼了,結果收不到驗證信的窘境。
如果想要開啟外寄電子郵件功能,除了要求託管服務供應商(Hosting service provider)開啟外,也可以安裝外掛程式「WP Mail SMTP by WPForms」,利用Google 的 SMTP 伺服器支援外寄郵件服務。當然這就得事前先安裝好了。
二,在佈景主題(Themes)檔案使用指令設定新密碼
在佈景主題(Themes)資料夾中有一個重要的函數檔案「functions.pho」,讓佈景主題得已透過函數控制WordPress的功能。
因此,在佈景主題資料夾下(如果有使用child主題,則須在child資料夾中找),將下面指令寫入functions.php,存檔後重新執行WP登入流程,即可使用新訂的密碼進行登入。
wp_set_password (‘vedfolnir, 1’)
上面指令參數「vedfolnir」是指新設定密碼,可使用自己喜愛的文字串置換。
參數「1」是指使用者序號排列第一位的使用者,即最初的管理者帳號。如果以前曾經手動新增管理員帳號,則序號也會變更,請以網站實際情況修正。
⚠️提醒各位站長,成功更改密碼登入後,請立即刪除functions.php檔案中的上述設定密碼指令,並利用WordPress後台的使用者頁面再重新以高強度密碼[1]重新設定設定。
三,資料庫設定新密碼
第三個方法比較適合中高階管理人員或技術人員使用,因為要用到「phpMyAdmin」這套資料庫圖形介面管理程式(當然技術能力更強的就會在Linux底層直接下指令作業)。
請參考下圖二,在WordPress資料庫下可以看到一個資料表「wp_users」,用來記錄該網站所有使用者的資料。找到希望修改的帳號後,就能用手動修改方式來設定密碼。
接著,在使用者資料表中,找到「user_pass」這個欄位①,將想要使用的高強度密碼填入值的欄位③,並在函式的下拉式選單②中找到「MD5」進行編碼,儲存後就等於重新設定密碼。
由於筆者在伺服器上透過CPanel可以很容易開啟phpMyAdmin,因此這也是筆者個人頗偏好的密碼重置方式。
四,使用緊急密碼重置腳本(Emergency Password Reset Script)
第四個方法雖然不太方便使用,不過既然是官方釋出的正式功能《Using the Emergency Password Reset Script》[2],筆者還是簡單介紹一下。
緊急密碼重置腳本的作法是在網站根目錄(root directory)建立一個全新PHP檔案「emergency.php」,用以介入WordPress核心程式運作,詳細的程式碼內容請從官方Codex頁面[2]直接複製貼上。
之後就可以在瀏覽器上開啟「網域名稱.com/emergency.php」,並根據系統提示畫面進行密碼更新。
由於這個方法需要知道自己管理者帳戶名稱和電郵位址,加上還要上傳檔案,而且有一定程度的安全性威脅存在,因此筆者建議最好將這個方案作為最後手段。
⚠️再一次提醒各位站長,成功更改密碼登入後,請立即刪除emergency.php腳本檔案,避免被駭客監控並加以利用入侵。
參考文獻
發佈留言