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


WordPress數據庫就像整個WordPress網站的大腦一樣,因為每個信息都存儲在其中,因此成為黑客最喜歡的目標。 垃圾郵件發送者和黑客為SQL注入運行自動代碼。 好吧,不幸的是,許多人在安裝WordPress時忘記更改數據庫前綴。 通過指定默認前綴,這使黑客更容易計劃大規模攻擊 wp_。 保護數據庫的最明智的方法是更改​​數據庫前綴,這在您要設置的站點上確實很容易做到。 但是需要採取一些步驟為已建立的站點正確更改WordPress數據庫前綴,而不會完全搞亂它。

影片教學

訂閱WPBeginner

如果您不喜歡該視頻或需要更多說明,請繼續閱讀。

製備

我們建議您在執行本教程中建議的操作之前備份WordPress數據庫。 保留網站的日常備份很重要,我們建議您使用BackupBuddy插件。 我們建議的下一步是將訪問者重定向到臨時維護頁面。

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

打開位於WordPress根目錄中的wp-config.php文件。 將表前綴行更改為 wp_ 像這樣 wp_a123456_

因此,該行如下所示:

$table_prefix  = 'wp_a123456_';

注意:您只能將其更改為數字,字母和下劃線。

更改所有數據庫表名稱

您需要訪問數據庫(最有可能通過phpMyAdmin),然後將表名更改為我們在wp-config.php文件中指定的表名。 如果您正在使用cPanel WordPress託管,則可以在cPanel中找到phpMyAdmin鏈接。 看下面的圖片:

phpMyAdmin

共有11個默認的WordPress表,因此手動更改它們很麻煩。

SQL查詢

這就是為什麼使事情更快,我們有一個您可以使用的SQL查詢。

RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

您可能需要為其他插件添加行,這些插件可能會在WordPress數據庫中添加自己的表。 想法是將所有表前綴更改為所需的表前綴。

選項表

我們需要在選項表中搜索使用wp_作為前綴的任何其他字段,以便我們替換它們。 為了簡化此過程,請使用以下查詢:

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

這將返回很多結果,您需要一個接一個地更改這些行。

UserMeta表

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

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

條目數可能會因您使用的插件數量等而異。 只需將具有wp_的所有內容更改為新的前綴即可。

備份並完成

您現在可以測試該站點了。 如果您按照上述步驟進行操作,那麼一切都會正常進行。 現在,為了安全起見,您應該對數據庫進行新備份。