为 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 文档

这应该是你在现有安装中更改前缀所需的全部内容