為 WordPress 表設定自定義字首

當你將 WordPress 安裝到伺服器時,安裝指令碼將在所有 WordPress MySQL 表名前面放置一個字首。預設情況下,此字首設定為“wp_”。例如,WordPress 帖子表將被稱為 wp_posts。通過更改表字首,你可以通過默默無聞建立一些安全性。這樣,當黑客嘗試 SQL 注入攻擊時,他們將不得不猜測你的表的字首,而不僅僅是使用’wp_’。你可以將此字首設定為你喜歡的任何內容。

在新的 WordPress 安裝中設定字首

如果在安裝過程中使用著名的 5 分鐘安裝更改字首欄位。

StackOverflow 文件

如果通過 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 資料庫 StackOverflow 文件
  • 選擇所有表,然後在下拉選單中選擇替換表字首。 StackOverflow 文件
  • 發件人中輸入’wp_’。在 To 中鍵入字首,在此示例中鍵入“foo_”,然後按提交StackOverflow 文件
  • 表現在應該如下所示: StackOverflow 文件

如果你不能使用 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_‘的每個條目。 StackOverflow 文件 並將其更改為’foo_’。你必須更改的條目數取決於你擁有的使用者數。 StackOverflow 文件

這應該是你在現有安裝中更改字首所需的全部內容