為 WordPress 表設定自定義字首
當你將 WordPress 安裝到伺服器時,安裝指令碼將在所有 WordPress MySQL 表名前面放置一個字首。預設情況下,此字首設定為“wp_”。例如,WordPress 帖子表將被稱為 wp_posts
。通過更改表字首,你可以通過默默無聞建立一些安全性。這樣,當黑客嘗試 SQL 注入攻擊時,他們將不得不猜測你的表的字首,而不僅僅是使用’wp_’。你可以將此字首設定為你喜歡的任何內容。
在新的 WordPress 安裝中設定字首
如果在安裝過程中使用著名的 5 分鐘安裝更改字首欄位。
如果通過 WordPress CLI 安裝,請使用以下命令:
// set other variables above, or substitute your strings in.
WP_DBPREFIX=foo
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU
更改現有安裝中的字首
更改字首有點困難。首先使用像 FileZilla 這樣的 FTP 程式來編輯 wp-config.php
檔案。將條目 $table_prefix = 'wp_';
更改為 $table_prefix = 'foo_';
,將’foo’替換為你想要的字首。
接下來我們需要編輯資料庫。如果你有權訪問 phpMyAdmin,請登入並執行以下操作:
- 選擇 WordPress 資料庫
- 選擇所有表,然後在下拉選單中選擇替換表字首。
- 在發件人中輸入’wp_’。在
To
中鍵入字首,在此示例中鍵入“foo_”,然後按提交。 - 表現在應該如下所示:
如果你不能使用 phpMyAdmin,那麼使用以下 MySQL 命令:
RENAME table `wp_comments` TO `foo_comments`
你需要為每個表執行該命令,將 comments
替換為其他表名。
接下來我們需要更改一些表中的一些條目。在’foo_options’表上執行此查詢
SELECT * FROM foo_options WHERE option_name LIKE '%user_roles%'
應顯示 option_name 為“wp_user_roles”的條目。在該條目中,將“option_name”條目從 wp_user_roles
更改為 foo_user_roles
。
然後開啟’foo_usermeta’表,找到前面帶’wp_‘的每個條目。 並將其更改為’foo_’。你必須更改的條目數取決於你擁有的使用者數。
這應該是你在現有安裝中更改字首所需的全部內容