WordPress网站安全之修改数据库前缀

2022年4月29日18:00:00 发表评论

WordPress使用MySQL数据库来收集和存储所有信息。数据库是WordPress站点的大脑,因为它是你所有的设置和文章都存储在这里。

因此,WordPress数据库也是所有黑客攻击的目标。一开始,掘金网也是使用默认的 WordPress 数据库表前缀wp_,后来才知道,这样做不仅容易网站数据库被人注入,而且内存缓存也会冲突。通过改变WordPress数据库默认前缀,是保护数据库一个很好的方法。所以,今天来跟大家分析一下如何快速修改 WordPress 数据库前缀。

WordPress网站安全之修改数据库前缀

安装前更改表前缀

这个技巧不能应用到已安装完成的WordPress数据库,但可以为今后新建站点或者全新安装WordPress实现修改数据库表前缀。

一般我们在在安装WordPress之前,需设置 wp-config.php 文件,改变部分代码如下:

将:

  1. $table_prefix = 'wp_';  

修改其中数据表前缀“wp_ ”为任意,比如 wp_jjsoho_ 。

安装之后更改表前缀

本方法用于修改已安装完成的WordPress数据库前缀。

注:修改数据库有风险,请提前作好MySQL数据库备份!

有两种方法:

1、使用 Change Database Prefix 插件(通过你的Wordpress网站后台,安全插件可以获取)

对于不懂技术者,这是最简单的方法。你只需要登录Wordpress后台 → 设置 → Change Database Prefix 。

按提示修改数据表前缀名称,点击保存按钮即可。

2、手动修改表前缀

适合有一定动手能力者。这里不推荐在 PHPMySQL 里执行 SQL 进行更改表前缀,因为绝大多数站长不是十几张表,而是安装了各种其他插件,生成了各种各样的数据表。而不小心的遗漏步骤会导致麻烦很多。不仅要把各个表更改前缀,还要修改 Options 表和 UserMeta 表中的数据。

在 wp-config.php 修改数据库前缀

打开你的 wp-config.php 文件,把数据库前缀 wp_ 改成你想要的前缀,比如 wp_a123456_。

  1. $table_prefix  = 'wp_a123456_';

修改数据表名字

打开 PHPMySQL,找到你的数据库,然后执行以下 SQL,把所有数据库表前缀从 wp_ 改成 wp_a123456_。

  1. RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
  2. RENAME table `wp_comments` TO `wp_a123456_comments`;
  3. RENAME table `wp_links` TO `wp_a123456_links`;
  4. RENAME table `wp_options` TO `wp_a123456_options`;
  5. RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
  6. RENAME table `wp_posts` TO `wp_a123456_posts`;
  7. RENAME table `wp_terms` TO `wp_a123456_terms`;
  8. RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
  9. RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
  10. RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
  11. RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
  12. RENAME table `wp_users` TO `wp_a123456_users`;

修改 Options 表中的数据

使用下面语句把 options 表中的 option_name 以 wp_ 开头的值改成 wp_a123456_开头。

  1. SELECTREPLACE(option_name, 'wp_', 'wp_a123456_') FROM wp_a123456_options;

修改 UserMeta 表中的数据

使用下面语句把 UserMeta 表中的 meta_key 以 wp_ 开头的值改成 wp_a123456_ 开头。

  1. SELECTREPLACE(meta_key, 'wp_', 'wp_a123456_') FROM wp_a123456_usermeta;

写在最后:

至此,WordPress 数据库表前缀就更改完毕了,是不是非常简单?如果你做了一些数据库缓存、内存缓存,建议你重启下。

如果按上面折腾完,站点挂了,而你又未作数据备份,只能对你的不幸表示同情!

Tips:

掘金网建议新手小白们不用太纠结有关技术层面的东西,这些技术自己如果实在无力拿下的话,完全可以付费来给你搞定的,掘金网目前就提供这样的付费技术支持服务《去付费》,花钱不多可以买个保障和安全,有需要的可以联系掘金网。

历史上的今天:

掘金网
  • 版权声明:本站原创文章,转载请保留出处和链接!
  • 本文链接:http://jjsoho.com/ggsjkqz/ 网赚有风险,投资需谨慎!