專注於企業網站架設,分享WordPress教學和Elementor教學
不用充值便可免費試用3天的Cloudways超快獨享主機,獨家優惠碼:LOYSEO,前2個月可優惠30%,感謝你的互惠互助

如何修改WordPress數據庫表前綴以提高安全性

更新日期:2021-08-18

掃碼加入 讀者學習群

相關 教學

我自用的 架設網站資源

當你點擊本站的鏈接購買主機、主題、外掛,我會得到一些佣金用於運營網站,但不會影響你的購買價格,我只推薦自己在用的,感謝有你的支持~比心( •̀ ω •́ )y

Cloudways

不用充值便可免費試用3天的Cloudways超快獨享主機,獨家優惠碼:LOYSEO,前2個月可優惠30%
了解詳情→

elementor logo gradient 01 1
Elementor

最熱門的網頁可視化設計編輯器,我的網站就是用它建的
了解詳情→

Namesilo

註冊網域,購買時使用優惠券loyseo可減1美元
前往註冊→

Share on facebook
Share on twitter
Share on linkedin

WordPress數據庫是黑客最喜歡攻擊的目標,許多人在安裝WordPress時忘記更改數據庫前綴,採用的是默認前綴wp_,這使黑客很容易進行大規模攻擊。保護數據庫的最機智的辦法就是更改​​數據庫表前綴。

如果你還沒GreenGeeks等國外的wordpress託管主機會在創架設網站點時,會設置隨機的表前綴,無需你再修改,不過以防萬一你也可以按下文的方法在wp-config.php文件中確認一下表前綴;而如果你是在服務器(譬如Linode、阿里雲)上自己搭建的網站,並且已經建好了,那麼,請按照下文的方法修改數據庫表前綴。

準備工作

請在操作之前備份你的網站數據庫,並選擇網站在線用戶少的時間段,修改期間,最好將網站開啟維護模式,如果網站用戶很少,也可以不用開啟維護模式,整個修改過程大約在10分鐘以內。

更改wp-config.php文件中的表前綴

找到網站根目錄中的wp-config.php文件並編輯它,在文件中找到下一段中所示的代碼行,將其中的表前綴從wp_更改為自定義內容(由字母、數字和短下劃線構成),譬如:a1b2c3_

$table_prefix = 'wp_';

修改後的示例:

$table_prefix = 'a1b2c3_';

更改所有數據庫表的前綴名稱

在網站的運維面板(譬如Cpanel、寶塔)中,找到database或數據庫相關的欄目,進入數據庫的管理面板,如果有phpMyAdmin功能入口,就使用phpMyAdmin訪問你的數據庫,然後按下面的步驟,將表前綴更改為我們剛才在wp-config.php文件中的新的表前綴

  1. 單擊左側菜單中的數據庫名稱以展開所有表。
  2. 在右側,全選所有以wp_開頭的表
  3. 單擊with selected,在下拉菜單中選擇replace table prefix
  4. 在“From”字段中輸入wp_,在“To”字段中輸入新的表前綴,在本示例中為a1b2c3。
  5. 單擊continue進行更改,修改完成後刷新當前頁面。
table-prefix-database.png

修改options表

請在左側菜單中的搜索框內輸入options並回車,找到options表,在本示例中,數據表名稱為a1b2c3_options,我們需要找到本表的options_name一列中使用了wp_作為前綴的行,以便我們將其中的wp_替換成新的前綴,請點擊頁面中表格右上方的[edit line],然後將代碼WHERE `option_name` LIKE '%wp_%'黏貼到已有的代碼之後,如果按照本文示例,黏貼完成後將是如下效果,然後點擊Go按鈕執行搜索

SELECT * FROM `a1b2c3_options` WHERE `option_name` LIKE '%wp_%'

搜索後將看到一條記錄,其中option_name是wp_user_roles,請雙擊對應單元格後修改,修改完成後將是新前綴_user_roles,譬如本示例中是:a1b2c3_user_roles。

如果你的站點時wordpress多站點,你將可能不止1個option表,記得每個options表都需要修改。

修改UserMeta表

接下來,我們需要在usermeta中搜索所有使用wp_作為前綴的字段,因此我們可以替換它。為此,請使用以下SQL查詢:

請在左側菜單中的搜索框內輸入usermeta並回車,找到usermeta表,在本示例中,數據表名稱為a1b2c3_usermeta,我們需要找到本表的meta_key一列中使用了wp_作為前綴的行,以便我們將其中的wp_替換成新的前綴,請點擊頁面中表格右上方的[edit line],然後將代碼WHERE `meta_key` LIKE '%wp_%'黏貼到已有的代碼之後,如果按照本文示例,黏貼完成後將是如下效果,然後點擊Go按鈕執行搜索

SELECT * FROM `a1b2c3_usermeta` WHERE `meta_key` LIKE '%wp_%'

搜索後將看到多條記錄,並且不同網站根據外掛安裝的不同而不同,請逐一將meta_key中的wp_前綴換為新前綴,但要注意的是,要仔細區別meta_key的含義,譬如:若你安裝了wp rocket外掛,則會看到一條包含wp_rocket的記錄,則此處的wp_不需要修改。如果看到的是wp-而不是wp_,那麼也不需要修改。

測試站點

至此,你可以測試網站了,使用新瀏覽器或無痕模式的瀏覽器,逐一打開網頁前台和後台,進行多次訪問和操作,如若正常,則說明修改成功。如若不正常,又無法界定問題所在,請先恢復數據庫備份以及wp-config.php文件中的表前綴,確保網站可以訪問,然後可以通過複製站點的方式去排查問題所在。

結語:我通過上文教學成功修改了多個網站,有簡單的站點、也有復雜的站點,感謝如下教學給予我的幫助:

點贊
0 / 5 5

Your page rank:

超快獨享主機
Cloudways
免費試用3天,無需充值
費用月結| 不用一次性付整年
*註冊優惠碼Promo code:LOYSEO
*用Gmail郵箱,註冊易通過