确保网站安全的 16 个 WordPress 安全提示 (2023)
已发表: 2023-10-27您是否需要一份完整的 WordPress 安全提示列表,以保护您的网站免受 WordPress 众所周知的常见危险。
在这篇文章中,您将找到十多个基本和高级安全提示,您可以实施这些提示来保护您的网站免受漏洞和黑客攻击。
以下是我们将在本文中介绍的 WordPress 安全提示:
- 选择优质的 WordPress 主机。
- 管理 WordPress 核心、主题和插件。
- 安装 WordPress 安全插件。
- 安装备份插件。
- 仔细选择第三方主题和插件。
- 了解 WordPress 用户角色及其权限。
- 在站点的后端登录页面上实施保护协议。
- 使用安全的用户名和密码。
- 为您的站点启用 SSL 证书。
- 禁用文件编辑。
- 禁用 PHP 执行。
- 更改 WordPress 数据库前缀。
- 保护您的 wp-config.php 文件。
- 重命名 WordPress 登录页面。
- 禁用目录浏览。
- 注销不活动的用户。
我们分为两个单独的列表:基本安全提示和高级安全提示。
让我们从基本的安全提示开始。
面向所有用户的基本 WordPress 安全提示
1.选择优质的WordPress主机
一切都从这里开始。
如果您不选择具有良好声誉的优质 WordPress 主机,那么无论您在 WordPress 中实施多少安全措施,您的网站都将容易受到攻击。
虽然您的站点是由代码组成的,但该代码存在于文件中,即需要安装在 Web 服务器上的文件。
至少,选择一个以维护快速、安全的服务器、保持服务器技术最新并提供对最新 PHP 版本的访问而闻名的主机。
我们使用 Cloudways 来托管博客向导。 它快速且价格实惠。 它的可扩展性也是一个重要因素,因为我们获得了大量流量。
它们提供以下安全功能:
- 一个 Cloudflare Enterprise 附加组件,可实现 DDoS 防护和 Web 应用程序防火墙 (WAF)。
- 服务器防火墙。
- 登录安全。
- 数据库安全。
- 机器人保护。
- 免费 SSL 证书。
- 用户角色管理。
- 安全操作系统管理。
- 双因素身份验证。
但是,就 WordPress 安全性而言,使用托管 WordPress 主机可能会更好,特别是如果您不是高级 WordPress 用户。
WordPress 托管
WordPress 托管是 WordPress 托管的一种形式,您的主机可以为您管理维护 WordPress 网站的许多方面。
这通常包括 WordPress 安全性的各个方面。
以下是使用我们最推荐的托管 WordPress 主机 WPX Hosting 的示例。 该托管提供商提供以下安全功能:
- 所有计划均包含恶意软件清除。
- 如果您的网站离线,则进行网站修复。
- DDoS 防护。
- 自动备份,可存储长达 28 天的备份。
- 拥有 35 个边缘站点的专有 CDN。
- 免费 SSL 证书。
- 在推送更新之前测试更新的暂存区。
- 双因素身份验证。
- 高级帐户安全性允许您在硬件级别限制对 WPX 主机帐户的访问。

2.正确管理WordPress核心、主题和插件
正如我们所说,您的 WordPress 网站由文件和代码组成。 这包括 WordPress 主题和 WordPress 插件以及 WordPress 本身,即所谓的“WordPress 核心”。
与您使用的计算机和手机应用程序一样,WordPress 文件会定期更新以实现新功能和安全修复。

这就是为什么您必须尽可能经常保持 WordPress 本身以及您的主题和插件最新的原因。 如果不这样做,可能会导致您的网站面临毁灭性的安全漏洞。
您应该始终尝试在您的网站上使用最新的 WordPress 版本。
幸运的是,WordPress 已经自动实施紧急安全更新,您也可以全面设置 WordPress 自动更新。
但是,最好通过临时区域(例如 WPX Hosting 允许您创建的区域)手动执行大多数 WordPress 更新,以便您可以在受控环境中测试这些更新对站点所做的更改,然后再将其推送到实时生产版本你的网站。
总而言之,每周留出时间来检查、测试 WordPress 更新并将其应用到您的网站,以尽可能保证其安全。
另外,请务必删除不再使用的主题和插件。
启用主题和插件的自动更新
您可以启用主题和插件的自动 WordPress 更新,而无需 WordPress 内部安装插件。
对于主题,请转到外观 → 主题,单击主题,然后单击启用自动更新按钮。

启用插件自动更新的工作方式相同。
转至插件 → 安装的插件,然后单击您想要启用自动更新的任何插件的启用自动更新按钮。
您甚至可以使用批量选项一次性启用所有插件的自动更新。

3.安装专用的WordPress安全插件
如果您没有使用托管 WordPress 主机来托管您的 WordPress 网站,那么最好的选择是使用专用的 WordPress 安全插件。
我们推荐 WordPress 安全插件 MalCare 或 Sucuri。
MalCare 在您的 WordPress 网站中实现以下功能:
- 恶意软件扫描仪。
- 恶意软件删除。
- 为 WordPress 定制的防火墙。
- 登录保护。
- 正常运行时间监控。
- 增量备份和一键站点恢复。
- 机器人保护。
- 漏洞扫描器。
- 活动日志使您能够识别可疑行为。
- 有关恶意软件和漏洞的电子邮件警报。

Sucuri 也提供了许多此类功能,但最出名的是其恶意软件扫描和删除功能以及实施防火墙来保护 WordPress 网站的能力。
MalCare 比 Sucuri 更实惠,甚至还包含有限的免费计划。
4.安装WordPress后台插件
在其他安全方面失败的情况下,备份是保护网站安全的最佳方法之一。
如果您的网站遭到黑客攻击或损坏,或者更新破坏了一些功能,您可以使用备份将其恢复到正常运行的状态。
如果您的主机不提供备份,并且您没有从安全插件中获得此功能,那么您绝对应该使用专用的备份插件。
我们推荐 WP 分期。

顾名思义,它专注于站点暂存,但它还提供备份、迁移和克隆功能。
该插件提供自动备份,并允许您将它们异地存储在 Google Drive 或 Amazon S3 上。
如果您需要增量备份以及 WP STAGING 提供的许多相同功能,请尝试 BlogVault。
这两种解决方案都允许您从备份恢复站点。
注意:虽然选择优质 WordPress 主机意味着您不太可能使用第三方备份,但我们仍然建议使用上述解决方案之一作为预防措施。
5.警惕第三方WordPress主题和插件
当您听说 WordPress 网站遭到黑客攻击时,通常是由于以下两个原因之一:WordPress 核心版本过时以及第三方主题和插件。
这就是为什么了解 WordPress 更新如此重要。 即便如此,世界上所有的更新都无法保护您的网站免受恶意或编码不良的第三方主题或插件的侵害。
在决定在网站上安装主题或插件之前,请先进行研究。
首先,主题或插件上次更新是什么时候? 如果主题或插件一年多没有更新,这不是一个好兆头。

请务必阅读主题或插件的评论以及支持线程。 这些将为您提供更好的指标来了解主题或插件的支持程度。
确保还通过社交媒体搜索运行主题或插件的名称,尤其是在 Twitter、Reddit 和 Facebook 上。
这些网站可能有一些投诉,但 WordPress.org 上的主题或插件的官方页面上没有得到解决。
6.了解WordPress用户角色及其权限
作为 WordPress 网站所有者,了解 WordPress 用户角色和每个角色提供的权限之间的差异非常重要。
以下是每个角色有权访问的权限的快速概述:
- 管理员 (Admin) – 可以访问 WordPress 仪表板的所有区域并对网站的任何部分以及该网站上的任何用户进行更改。
- 编辑者– 有权访问 WordPress 帖子和页面,并拥有添加、发布、删除和编辑此内容的能力,即使这些内容不是他们自己创建的。
- 作者– 能够添加、编辑和发布自己的帖子。
- 贡献者– 能够添加和编辑自己的帖子。
- 订阅者– 可以编辑他们的用户个人资料并使用本机 WordPress 评论系统留下评论。
因此,如果您为博客雇用编辑,您应该为他们分配编辑角色,而不是管理员角色。
这样,他们可以处理您网站上的内容,但无法更改您的主题、插件和 WordPress 设置。
7.保护WordPress登录页面
WordPress 登录页面是您用于登录 WordPress 仪表板的页面。

您通常可以通过访问 yourdomain.com/wp-login.php 来访问它。
我们可以使用多种不同的技术来保护 WordPress 登录页面的安全。
我们将在本节中提到两种技术,但本文的高级部分还有其他技术。
我们要提到的第一种技术是简单地将验证码表单添加到站点的登录页面。
如果您决定使用我们前面提到的 MalCare 安全插件,则无需单独的插件即可将此功能添加到您的网站。
该插件可让您通过自动显示验证码来限制登录尝试,以便访问者在三次尝试后登录失败时解决问题。
如果您不使用 MalCare,请改用 Advanced Google reCAPTCHA 等插件。

这是一个非常简单的插件,可让您将验证码表单添加到登录表单、注册表单等中。
激活此插件后,您和任何访问您登录页面的人都需要填写验证码表单才能登录。
除此之外,保护 WordPress 登录页面的另一种简单方法是启用双因素身份验证。
使用像两因素身份验证(来自 UpdraftPlus 的制造商)这样的插件将两因素身份验证添加到您的登录页面。 该插件与 Google Authenticator 集成。
8. 使用安全登录凭据
验证码表单和双因素身份验证技术使攻击者更难进入您的网站,但并非不可能。
这就是为什么使用安全登录凭据很重要。 它为您的网站增加了额外的安全层。
对于初学者来说,您永远不应该使用“admin”作为您的用户名或自己的名字。
而是将您的名字的片段组合起来。 例如,如果您的名字是 David Smith,出生于 1980 年 10 月 10 日,请使用“dasm1080”作为您的用户名或类似名称。
这样,如果攻击者试图进入您的网站,他们首先需要找出您的用户名。
这是一个有点高级的技巧,但您实际上可以隐藏 WordPress 用户名,使攻击者更难找到它们。 这很好,因为有时可以在页面的源代码中找到用户名。
此外,WordPress 为作者存档页面生成的 URL 通常包含每个作者的用户名。
为了解决这个问题,请转到 WordPress 中该作者的用户个人资料,并使用用户名以外的其他内容填写名字、姓氏、昵称和显示名称字段。
更进一步,这就是高级技巧发挥作用的地方,通过 phpMyAdmin 访问您站点的数据库,并找到 wp_users 表。 如果您或您的主机更改了数据库的前缀,“wp”位可能看起来有点不同,但它仍然会附加“_users”部分。

您想要做的是编辑每个用户的数据库条目并将“user_nicename”值更改为用户用户名设置之外的其他值。
用户名就可以了。 请务必用破折号填充空格,例如“david-smith”。
对于密码,请使用密码生成器生成安全密码,并考虑将其存储在密码管理器中以便于访问。
9. 为您的网站设置 SSL
SSL(即安全套接字层)是一种安全协议,可对在两个网络之间传输的数据进行加密。
这通常用于加密支付信息和敏感的客户数据。
有两种方法可以查看网站是否通过 SSL 证书加密:地址栏中的挂锁以及网站使用“https”而不是“http”。

由于 SSL 是一个轻量级的 Google 排名因素,因此鼓励所有网站设置 SSL,即使它们从不打算接受付款。
幸运的是,现在大多数主机都通过 Let's Encrypt 免费提供 SSL 证书,因此现在设置一切都比以往更容易、更便宜。
查看主机的知识库以了解如何执行此操作,因为每个主机的处理方式都不同。
面向高级用户的 WordPress 安全提示
10.禁用文件编辑
管理员的 WordPress 仪表板或 WordPress 管理有两个文件编辑器,可让您编辑主题和插件文件。
您可以通过外观 → 主题文件编辑器和插件 → 插件文件编辑器找到它们。

更改这些文件可能会破坏您的网站。 更糟糕的是,如果黑客确实获得了您的某个管理员帐户的访问权限,他们就能够使用这些编辑器将恶意代码注入您的网站。
这就是为什么建议 WordPress 网站所有者完全禁用文件编辑。
您需要做的就是将以下代码添加到您的 wp-config.php 文件中:
定义('DISALLOW_FILE_EDIT',true);
如果您的主机没有文件管理器,您需要通过 FTP 访问站点的文件,下载 wp-config.php 文件,使用纯文本编辑器编辑它,保存它,然后将其重新上传到同一主机WordPress 安装文件系统中的位置。
只要确保覆盖原来的即可。
另外,请确保在更改文件系统之前备份您的站点。 在应用更改之前下载 wp-config.php 文件的副本也是一个好主意。
11.禁用PHP执行
黑客经常通过在站点的文件系统中执行 PHP 文件来创建后门。
您可以通过在本来不应包含任何 PHP 文件的文件夹(例如存储媒体文件的 Uploads 文件夹)中禁用 PHP 文件执行来阻止此类攻击。
在包含PHP 的文件夹中阻止 PHP 执行实际上可能会破坏您的站点,因此为了安全起见,通常建议仅对从未发现 PHP 的文件夹禁用 PHP 执行。
如果您使用 MalCare 安全插件,则可以通过输入站点的 FTP 凭据来禁用 PHP 执行。
如果没有,您需要通过编辑站点的文件系统来手动执行此操作。
首先在计算机上打开纯文本编辑器,并向其中添加以下代码:
<文件*.php> 所有人都否认 </文件>
然后,保存该文件,并将其命名为“.htaccess”。 确保包含点“.” 在“htaccess”之前。

现在,您需要做的就是访问站点的文件系统,并将新的 .htaccess 文件上传到 Uploads 文件夹,然后保存更改。
12.更改WordPress数据库前缀
我们已经说过多次,但您的网站是由存储在文件中的代码组成的。
我们没有提到的是您的站点也是如何由数据库表组成的。 与代码或文件一样,删除或更改这些表可能会对您的网站造成很大损害。
不幸的是,如果黑客知道您的数据库前缀,他们可以使用它来攻击您的网站,而无需实际手动访问它。
默认情况下,所有 WordPress 网站都设计为使用“wp”前缀,这就是为什么更改它如此重要,因为黑客已经熟悉此前缀。
幸运的是,许多主机在您使用它们创建站点后就会自动更改站点的默认前缀。
如果您的数据库表在每个下划线值之前有除“wp”之外的其他内容(例如“fx87_user”而不是通常的“wp_user”),您就会知道它们是否这样做。
如果没有的话,实际上很简单,只要您熟悉访问站点的文件系统即可。
本技巧再次需要 wp-config.php 文件。 就像以前一样,最好在进行更改之前保存您的网站以及 wp-config.php 文件的副本。
以下是更改 WordPress 数据库前缀的步骤:
- 下载您网站的 wp-config.php 文件。
- 在纯文本文本编辑器中打开该文件。
- 找到一行“$table_prefix”。 如果整行显示“$table_prefix = 'wp_'; 你需要改变它。
- 将“wp”前缀更改为攻击者难以猜测的两到五个字母和数字。
- 确保您的新前缀仍然包含引号和分号。 示例:$table_prefix = “fx87_”;
- 保存您的 wp-config.php 文件,并将其上传到站点文件系统中的同一位置。
- 出现提示时覆盖原始 wp-config.php 文件。

13. 通过移动 wp-config.php 文件来保护它
一些攻击策略涉及将代码注入到 wp-config.php 文件中,这首先要求攻击者下载它。
通过移动您的 wp-config.php 文件,您可以使黑客更难找到它。
WordPress 允许您将 wp-config.php 文件向上移动一个目录,而无需执行任何其他操作。 您的网站仍然可以从那里访问它。
但是,由于上一个目录可能仍然是公用文件夹,因此最好将其移得更远一些。
遵循此技巧并不难,但它对您的网站所做的更改非常高级,尤其是在出现问题的情况下,因此只有在您知道自己在做什么的情况下才能继续。
以下是移动 wp-config.php 文件的步骤:
- 复制您的 wp-config.php 文件,并将其存储在您的计算机上。
- 访问站点的文件系统,并找到包含 public_html 文件夹的文件夹。
- 在此目录中创建一个新文件夹,并将其命名为不会将其标识为包含 wp-config.php 文件的文件夹。 像“bw-assets”这样的东西会起作用。 注意:不要在您自己的网站上使用 bw-assets。 使用您想出的原创内容,这样更安全。
- 将新文件夹的权限级别设置为 700。
- 将 wp-config.php 文件复制并粘贴到新创建的文件夹中,并将其重命名为不会将其识别为 wp-config.php 文件的名称。 同样,像“bw-asset.php”之类的东西也可以正常工作。
- 将此新文件的权限级别更改为 600。
编辑原始的 wp-config.php 文件,删除其中的代码,并将其替换为:
<?php 包括('/home/usr/bw-assets/bw-asset.php'); ?>
引号之间的文件路径应与您自己站点的绝对文件路径匹配,包括您如何命名新创建的文件夹和文件。
之后保存文件。
14.重命名WordPress登录页面
默认情况下,WordPress 登录页面位于 /wp-login.php 和类似的 URL 路径。 因此,如果您想登录 WordPress 网站,只需访问 yourdomain.com/wp-login.php 或 yourdomain.com/wp-admin 即可。
黑客对此非常熟悉。 一旦他们访问您网站的登录表单,他们就可以发起暴力攻击,试图突破您的防御。
希望这些防御措施包括使用安全插件或验证码表单限制登录尝试,但您也可以完全隐藏登录页面。
使用WPS隐藏登录之类的插件来实现此功能。
该插件向 WordPress 常规设置页面添加了一个简单的设置,该设置允许您通过在文本字段中输入所需的 URL 来更改登录 URL。
使用不常见的安全内容,这样黑客就无法轻易猜到。 也许可以尝试使用单词组合,这样看起来就毫无意义,例如“einsteinbananafrisbee”。

进行此更改后,您将无法再从 wp-login.php 或类似 URL 访问登录页面。 您只能使用 yourdomain.com/einsteinbananafrisbee,因此请确保您能记住它。
15.禁用目录浏览
目录浏览是一项网页设计功能,允许用户在地址栏中输入目录作为 URL 并查看该目录的内容。
黑客使用这种方式查看目录,而无需实际以恶意方式访问站点。 当他们这样做时,他们可能会查明他们可以利用的文件和漏洞。
解决此问题的最佳方法是完全禁用目录浏览。
首先查看您的站点是否启用了目录浏览。 您可以通过访问 yourdomain.com/wp-includes 来判断。 如果您遇到 403 Forbidden 错误,则目录浏览已被禁用,您无需担心。
但是,如果您看到文件列表,则需要自行禁用目录浏览。
首先访问站点的文件系统并找到 .htaccess 文件。
就像您对 wp-config.php 文件所做的那样,您应该在对其进行更改之前备份您的站点并创建 .htaccess 的副本。
然后,下载它,在纯文本编辑器中打开它,并将以下代码片段添加到其末尾:
选项全部-索引

保存文件,并将其重新上传到您的 WordPress 网站,确保覆盖原始文件。
16. 注销不活动的用户
管理员、编辑和作者同事可能认为他们的工作空间是安全的,但你永远都不能太小心。
如果管理员或编辑在登录您的网站时离开他们的计算机,他们可能会在没有意识到的情况下使您的网站面临漏洞,特别是当他们在公共场合并且计算机被盗时。
为了解决这个问题,最好注销不活跃的用户。 Inactive Logout 插件提供了完成工作的最简单方法之一。
该插件允许您根据指定时间段内的不活动设置自动注销。

您甚至可以设置警告消息,以防用户实际上在计算机前,而不是与网站交互。
这是一个非常简单明了的插件,可让您实现 WordPress 站点安全的附加层。
最后的想法以及如果您的网站被黑客攻击该怎么办
如果您的网站遭到黑客攻击,您在尝试与之交互时可能会看到以下一些警告信号:
- 无法登录。
- 您未对前端进行的更改。
- 您网站上的所有页面都重定向到完全不同的网站。
这不包括您可能从主机或安全插件收到的警告。
无论您的网站发生什么情况,您现在都知道它遇到了麻烦。 以下是发生这种情况时应采取的措施。
您应该做的第一件事是使用维护模式插件将您的站点置于维护模式。
即将推出和维护模式插件是一个众所周知的插件,非常适合此目的。
被黑的网站也会让您的用户容易受到攻击,因此在网站仍受到威胁的情况下,您越快阻止外部访问您的网站越好。
当您的网站离线后,请按照以下步骤确保其安全:
- 更改站点上所有用户的密码,尤其是管理员帐户。
- 查看您网站上的所有用户,并删除您不认识的管理帐户。
- 安装 WordPress 更新,以防您错过第三方主题或插件的重要安全更新。
- 使用您的安全插件扫描并删除恶意软件。 如果您使用 WPX Hosting 等主机,他们会为您删除恶意软件。 如果您安装了 MalCare,该插件应该能够为您将其删除。 否则,您可能需要使用外部服务(例如 Sucuri)来手动删除它。
- 重新生成您的站点地图,并通过 Google Search Console 将您的网站重新提交给 Google。 这是为了防止您的站点地图文件损坏。
- 重新安装干净版本的 WordPress 核心以及您网站上的主题和插件。
- 使用 WP-Optimize 等 WordPress 插件清理数据库。
- 一旦您的站点稳定,请禁用维护模式。
- 完成安全审核以识别可能导致黑客攻击的安全漏洞。
尽管从备份恢复您的网站可能很诱人,但您不知道恶意代码在您的网站内隐藏了多长时间。
因此,在清理受感染的站点时最好不要诉诸备份。
披露:我们的内容是读者支持的。 如果您点击某些链接,我们可能会收取佣金。 这增加了博客向导的运营成本。 您的支持是极大的赞赏。