更改您的 WordPress 数据库前缀以提高您的安全性

WordPress 数据库表默认都以 wp_ 前缀开头.安全专家通常建议更改前缀以保护您的站点,但这真的值得吗?或者只是发出嘶嘶声而没有牛排?

这个想法是改变数据库前缀有助于避免令人讨厌的SQL注入,因为黑客通常在攻击中使用具有标准设置的查询,但如果数据库细节是独一无二的,黑客会出错.

虽然更新修复程序绝不是保护您的网站的最佳或唯一解决方案,但您可以采取一个步骤来安装 WordPress安全一点.

因此,在这篇文章中,我将向您介绍为什么以及如何更改您的 WordPress 数据库前缀可以增加您网站的安全性.

前缀与它有什么关系?

要了解为什么更改数据库的表前缀可以作为网站攻击预防措施的一部分,重要的是要探讨争论的双方.

了解修正案背后的原因应该能让您更好地了解如何确保您的网站安全.

这一切都很好,但为什么首先更改表前缀是一种流行的做法?

SQL 注入和通用建议

当您查看优缺点时,请务必注意,广泛建议重命名表前缀的主要原因是为了防止黑客通过成功的 SQL 注入.

简而言之,当您的网站容易受到 SQL 注入攻击时,这意味着黑客可以在未经您许可或不知情的情况下,从您网站上未经处理的表单中执行 SQL 查询.

如果黑客可以在您的网站上成功运行未经授权的 SQL 查询,则意味着与目标数据库的连接已打开.

发生这种情况时,黑客可以随心所欲地更改任何内容,并获得对您网站的完全访问和控制权.这意味着他们可以对您的网站进行更改并随心所欲,因为数据库完全公开给他们.

他们不一定可以访问您的文件,但他们可以完全控制您的数据库.

他们可以获得对您网站的完全访问和控制权,第一个任务通常是更改管理员登录凭据.

这会将您拒之门外,让他们继续按照自己的方式行事,进行广泛的更改,从使您的网站变成垃圾邮件中心和窃取个人信息,再到感染数千个其他网站,在那里他们可以发送垃圾邮件并窃取所有更多.

这当然是您想要保护您的网站免受攻击的原因,您可以通过查看WordPress 垃圾邮件终极指南.

缺点

反对重命名数据库中的任何内容的主要原因是,如果黑客可以在您的网站上执行 SQL 注入,那么您的数据库已经打开了连接.

这意味着如果他们的第一个 SQL 查询失败,黑客很容易运行查询来搜索几乎总是与默认值相同的表名的后半部分.

第二个查询可以搜索包括 usermetapostmeta 在内的名称.

搜索会显示完整的表名和!您的黑客会读取您的新前缀.从那里开始,他们可以继续做他们想做的事.

这也是假设他们也无权访问您的文件.如果他们这样做了,他们也可以轻松地在那里找到您的新前缀.

归根结底,如果您的网站和数据库在打开连接时不会受到攻击,那么您的表前缀恰好是什么并不重要,如果有打开连接,黑客很容易发现去掉你给前缀命名的名字,让它变得毫无用处.

很干很干,对吧?嗯,不完全是.

这里有几个因素和一个主要因素没有考虑在内.

Changing your database prefix is just one small measure you can put in place to help prevent attacks on your WordPress site.
更改数据库前缀只是您可以采取的一项小措施来帮助防止对您的 WordPress 网站的攻击.

优点

虽然在考虑了缺点之后,这似乎是毫无意义的努力,但这并不是没有先例可以考虑重命名前缀.

首先,这是 WordPress Codex for Security Hardening 中的一项建议.此外,早在 第一个版本 0.7 开始就在 WordPress 中检测到代码注入漏洞 并在以后的版本中再次使用.

自 WordPress 成立以来,漏洞一直被压制,但它们开始出现在许多网站上,可供黑客利用.

这就是为什么添加一点预防措施可以成为您的许多安全措施的宝贵资产.

十多年来,重命名表前缀被归入"安全要素"标签也是有原因的.

黑客很少像我们其他人每天一样通过已知的浏览器访问网站来发现网站的漏洞.

相反,他们通常使用他们创建的程序,该程序通常被称为机器人.他们启动机器人,它会在几分钟内系统地访问数百个甚至数千个站点,以自动搜索漏洞.

一旦发现漏洞(例如允许 SQL 注入的漏洞),机器人就会提交查询以同时入侵所有易受攻击的站点.在成功入侵的网站中,机器人会从那里继续.

但另一方面,如果某些站点管理员更改了他们的表前缀,那么机器人将无法成功执行他们的第一个查询,因为它只考虑了默认设置,并且会移动到查询工作的站点.

如果您的网站是更改前缀的网站之一,那么您的网站目前基本上是"安全的".

请记住,在这种情况下,您的网站仍然存在重大漏洞,因此如果不立即修补它,黑客将其蠕动的手指伸入其中可能只是时间问题——可以这么说.

>

这就是为什么更改数据库表前缀不是您的终极安全解决方案的原因.实际上远非如此.

虽然它可以帮助对抗黑客,但安装一个安全插件是至关重要的,比如我们免费的 Defender 真正保护您的网站.

虽然更改数据库表前缀并不是安全措施的全部,但将其应用于您的站点以及其他安全要素仍然值得.请继续阅读以了解如何更改您的网站.

就像我会失去你

由于您要从根本上更改数据库,这可能会彻底破坏您的网站,因此备份整个网站很重要,就好像您将丢失所有内容一样.

这样,如果您这样做,您就可以轻松恢复您的网站,这样您就不会永远失去一切.

有关如何创建网站完整备份的详细信息,请查看以下文章:

创建站点备份后,您可以开始更改表前缀.

文件,它们正在发生变化

要重命名您的表前缀,首先,从您的 wp-config.php 文件开始.您可以下载副本进行编辑,然后通过 FTP命令行和 SSH 或者您直接在 cPanel 中编辑它.

登录 cPanel 后,转到 文件 >文件管理器并找到您网站的文件.单击列表中的 wp-config.php 文件,然后单击页面顶部的编辑.

在编辑器中,找到以下行:

加载要点 jennimckinnon/6c131b96ebb19ba4dffc37825

wp 更改为您想要的任何内容,但建议您在完整后保留下划线.您的新前缀可以包含字母、数字,甚至下划线.

例如,您可以选择 wp2748il0ved0gssg7bn40dgug44_db87 之类的内容,但不要使用这些确切的示例,因为它们是公开的,每个人都可以看到,包括黑客.

一旦您对更改感到满意,请保存文件.如果您使用 FTP 或 SSH,请将文件上传回您的站点并替换旧版本.

您还没有完成,您甚至可能会注意到您的网站现在已经完全损坏了.这是正常的,因为您的数据库数据与您的更改不匹配.

要解决此问题并完全重命名您的前缀,请继续更新您的数据库.

在数据库中滚动

要开始对数据库中的前缀进行更改,请登录到 phpMyAdmin,以便您可以运行一些查询.

有关如何在 phpMyAdmin 中运行 SQL 查询的详细信息,请查看我们其他帖子中的该部分保持 WordPress(和多站点!)干净整洁的 10 条提示数据库.

您可以逐行输入查询以更改数据库中的主表.所有表格应遵循的结构如下:

加载要点 jennimckinnon/babbdd7feebec17009414f8db7846deba

不要忘记将 tablename 替换为表的实际名称,并将 newprefix 更改为您保存到 wp-config.php 文件中的新前缀.

对于 WordPress 的单次安装,您可以输入这些查询,但不要忘记将 newprefix 更改为您创建的真实前缀:

加载要点 jennimckinnon/4ec9b1394631e941292f95dcba

对于多站点网络,还要添加这些查询,记住将 newprefix 替换为您选择的新前缀:

加载要点 jennimckinnon/a1640966434348cbef5921

除了这些查询之外,您还需要添加您网站上的插件创建的任何自定义表格,以及为您网络中的每个子网站创建的所有表格.

以下是您还应包含在查询列表中的站点表列表:

  • wp_#_commentmeta
  • wp_#_comments
  • wp_#_links
  • wp_#_options
  • wp_#_postmeta
  • wp_#_posts
  • wp_#_terms
  • wp_#_term_relationships
  • wp_#_term_taxonomy

请务必将 # 替换为您的子站点的站点 ID.例如,您可以在对站点 ID 为 2 的子站点的查询中包含 wp_2_commentmeta.

有关数据库表的更多信息,请查看我们的其他博文MySQL 和 WordPress:了解数据库的工作原理.

我以前知道的一些表格

当这部分完成后,您仍然需要更新上面提到的options和usermeta表中的一些条目.

更新选项表条目

您需要在选项表中更新相当多的条目,您可以使用查询来搜索它们以简化流程.

使用以下查询在选项表上运行搜索,不要忘记使用您选择的实际前缀更新 newprefix:

加载要点 jennimckinnon/c3674a7b7521ade248594b1a5c5

搜索应该检索需要更新的所有表的列表.您可以单击每个按钮的编辑按钮进行更改.

更新 Usermeta 表条目

与选项表类似,用户元表也需要更新其许多条目.您也可以搜索它们,而不是一一查找.

以下是可用于搜索包含默认前缀的条目的查询:

加载要点jennimckinnon/d5af71e68b421ec9390a6a6e

务必将 newprefix 重命名为您写入 wp-config.php 文件的真实前缀.

最后,编辑出现在搜索结果中的所有条目以反映您的新前缀.

不会再上当了

您已将数据库表前缀更新为完全自定义的内容,但最后一步是再创建一个完整备份.

完成后,您可以访问您的网站并享受它的荣耀.虽然前端没有任何变化,但您朝着更安全的网站迈出了一步.

虽然这不是您应该采取的唯一安全措施,但它是一项附加措施,可以帮助您抵御黑客机器人,这些机器人会系统地尝试渗透网站及其数据库整体.

如果您访问某个站点并收到"权限"或"未建立数据库连接"错误,则您忘记重命名其中一个表或条目前缀.

返回 phpMyAdmin 并搜索您忘记更改的表或条目很重要.

您还可以查看如何修复 WordPress 的"建立数据库连接时出错"以获取更多详细信息.

某些插件依赖于默认的数据库前缀,因此如果您确定没有错过更新和表格或条目,您可以禁用所有插件并一一重新启用它们,直到您的站点中断.

您激活的最后一个插件是罪魁祸首,您应该考虑删除它并寻找替代品.

数据做到了

既然您知道如何更改 WordPress 数据库前缀,并且您的安全性应该得到加强,机器人和黑客将前往别处.

请记住,在任何时候,如果您在尝试本文或任何内容时遇到困难,无论何时,您都可以向我们的专家支持团队寻求 24/7 全天候帮助.如果您已经是 WPMU DEV 成员,那么您都可以提出问题.如果您还不是会员,您可以使用我们的高级会员之一进行免费试用并提出要求.

此外,要真正提高您的 WordPress 安全性,请务必查看我们的免费 Defender 插件.Defender 通过双因素身份验证、登录屏蔽、登录锁定、404 检测等在各个级别阻止黑客!

您可以在此处阅读有关他的恶意软件扫描、登录安全、防火墙和充分利用他的所有信息.

标签:

1

发表回复