如何以及为何应限制 WordPress 中的登录尝试(插件+代码)

已发表: 2024-04-13

您的 WordPress 网站就像您在网络世界中的家。 正如您会锁好门以防止入侵者一样,保护您的网站免受网络威胁也至关重要。

一种明智的方法是限制登录尝试。 这就像在门口设置了一个警卫,准备阻止任何试图潜入的人。正如您所知,WordPress 是每个黑客的共同目标。 Colorlib 分享的 WordPress 安全最新统计数据显示

每天至少有 13,000 个 WordPress 网站遭到黑客攻击。

因此,为了保护您的网站,您必须限制 WordPress 网站的登录尝试。

如果您想知道如何限制登录尝试,不用担心。 在本分步教程中,我们将向您展示如何将 WordPress 中的登录尝试限制在 10 分钟内(保证)。

兴奋的? 惊人的。 让我们开始吧!

为什么应该限制 WordPress 中的登录尝试

限制网站登录尝试的主要原因是为了保护您的网站。 以下是限制登录尝试的 3 个主要原因:

(一)阻止暴力攻击

暴力攻击是一种常见策略,黑客使用自动化工具反复猜测用户名和密码,直到获得访问权限。

默认情况下,WordPress 允许无限制的尝试,使攻击者很容易通过反复试验获得成功。 限制尝试会显着降低暴力攻击成功的机会。

(二)防止撞库

凭证填充涉及使用窃取的用户名和密码组合(来自其他数据泄露)来尝试登录不同的网站。

通过有限的尝试,即使使用被盗的凭据,攻击者也会在猜测正确的凭据之前被锁定。

(三)减轻安全负担

无限制的尝试可能会导致大量登录请求,使您的服务器不堪重负并影响网站性能。

限制尝试可以减少登录失败的次数,从而减轻服务器资源的压力。

另请阅读:2024 年详细的 WordPress 网站安全检查表

限制 WordPress 登录尝试的 2 种简单方法

这是博客的专题图片 - 如何限制 WordPress 中的登录限制

现在您知道为什么应该限制登录尝试了。 是时候向您展示如何做到这一点了。 WordPress 中限制登录尝试的方法主要有两种。 他们是:

  • 使用插件限制登录尝试
  • 手动限制登录尝试

我们将通过所需的屏幕截图和代码向您展示这两种方法。 那么,事不宜迟,让我们开始教程吧!

方法01:使用插件限制WordPress中的登录尝试

老实说,有几个 WordPress 限制登录尝试插件可用。 您可以进入 WordPress 插件存储库并简单地搜索插件 - “WordPress 限制登录插件”,您将获得许多插件。 根据您的选择选择一个值得信赖的插件。

然而,在本教程中,我们将使用“限制重新加载登录尝试”插件来向您展示如何限制 WordPress 网站的登录尝试。 这是该类别中最受欢迎的插件,活跃安装量超过 200 万,并且获得令人难以置信的 4.9 分(满分 5 分)。

现在让我们开始教程吧!

步骤01:安装限制登录尝试重新加载插件

登录您的 WordPress 后端并导航至插件 -> 添加新插件。 有一个搜索框可以搜索插件。 输入插件名称 - Limit Login Attempts Reloaded,然后从搜索结果中安装该插件。

最后,激活插件以在您的网站上使用它。

此屏幕截图显示了如何安装和激活“限制登录尝试重新加载”插件

步骤02:配置限制登录尝试重新加载插件

激活插件后,导航到您的 WordPress 仪表板。 您会在左侧面板上找到一个新选项 -限制登录尝试

现在将鼠标悬停在“限制登录尝试”选项上,然后单击“设置”按钮。 它将带您进入一个新界面。

您可以在此处单击 GDPR 合规性选项,以在登录页面上显示 GDPR 消息。 此外,您应该在此处插入您的电子邮件,以获取有关谁被锁定在您的网站之外的最新信息。

这是“限制登录尝试重新加载”设置页面的屏幕截图

现在向下滚动一点并关注本地应用程序部分。

有几个选项需要配置:

  • 允许的重试:锁定之前允许的失败尝试次数。
  • 分钟锁定:锁定时间(以分钟为单位)。
  • 锁定时间:指定的锁定次数后,锁定时间将增加指定的小时数。
  • 重置重试前的小时数:删除块之前的时间(以小时为单位)。
这是显示限制登录尝试设置的屏幕截图

配置这些选项后,不要忘记点击“保存设置”按钮来保存所有更改。

步骤 03:检查是否正常工作

现在从您的 WordPress 网站注销并尝试使用错误的凭据再次登录。 如果它显示剩余的尝试次数或将您锁定,我们可以说它工作正常。

这是 WordPress 登录页面的屏幕截图

现在导航到“限制登录尝试”->“仪表板”以检查失败的登录报告。

就这样!

这就是您如何使用 WordPress 插件限制网站上的登录尝试。

方法02:手动限制登录尝试(编码)

如果您不想添加额外的插件来限制登录尝试,可以通过访问functions.php 文件来实现。

为此,您需要登录控制面板 (cPanel)。 然后导航到文件管理器 -> public_html -> wp-content -> 主题-> 您当前激活的主题。

在那里您将找到functions.php文件。

该图显示了functions.php 文件

单击该文件并将此代码粘贴到文件底部。

最后,保存文件以完成此过程。

 function check_attempted_login( $user, $username, $password ) { if ( get_transient( 'attempted_login' ) ) { $datas = get_transient( 'attempted_login' ); if ( $datas['tried'] >= 3 ) { $until = get_option( '_transient_timeout_' . 'attempted_login' ); $time = time_to_go( $until ); return new WP_Error( 'too_many_tried', sprintf( __( '<strong>ERROR</strong>: You have reached authentication limit, you will be able to try again in %1$s.' ) , $time ) ); } } return $user; } add_filter( 'authenticate', 'check_attempted_login', 30, 3 ); function login_failed( $username ) { if ( get_transient( 'attempted_login' ) ) { $datas = get_transient( 'attempted_login' ); $datas['tried']++; if ( $datas['tried'] <= 3 ) set_transient( 'attempted_login', $datas , 300 ); } else { $datas = array( 'tried' => 1 ); set_transient( 'attempted_login', $datas , 300 ); } } add_action( 'wp_login_failed', 'login_failed', 10, 1 ); function time_to_go($timestamp) { // converting the mysql timestamp to php time $periods = array( "second", "minute", "hour", "day", "week", "month", "year" ); $lengths = array( "60", "60", "24", "7", "4.35", "12" ); $current_timestamp = time(); $difference = abs($current_timestamp - $timestamp); for ($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i ++) { $difference /= $lengths[$i]; } $difference = round($difference); if (isset($difference)) { if ($difference != 1) $periods[$i] .= "s"; $output = "$difference $periods[$i]"; return $output; } }

现在从您的 WordPress 网站注销,然后再次尝试使用错误的凭据登录。 如果它将您锁定在您的网站之外,则意味着您已成功为您的 WordPress 网站实现了限制登录尝试功能。

这是 WordPress 登录页面的屏幕截图

恭喜!

现在您知道如何在使用或不使用插件的情况下限制 WordPress 中的登录尝试。

奖励:提高登录安全性的最佳实践

提高 WordPress 网站的登录安全性对于保护您的网站及其数据免遭未经授权的访问至关重要。

以下是增强登录安全性的一些最佳实践:

  • 设置强登录密码:使用复杂且唯一的密码进行 WordPress 登录。 避免使用“password123”等常见密码或容易猜到的短语。 选择大小写字母、数字和特殊字符的混合。 较长的密码通常更安全。 此外,请考虑使用密码管理器来生成并安全地存储您的密码。
  • 使用 reCAPTCHA :将 reCAPTCHA 集成到您的登录页面中,以防止自动机器人尝试暴力进入您的网站。 reCAPTCHA 要求用户通过完成简单的挑战(例如选择图像或解决谜题)来验证自己是人类。 这有助于阻止恶意机器人,同时允许合法用户无障碍地访问您的网站。
  • 实施双因素身份验证 (2FA) :启用双因素身份验证可在密码之外提供额外的安全层。 使用 2FA,除了密码之外,用户还需要提供第二种形式的验证,例如发送到其移动设备或由身份验证应用程序生成的临时代码。 即使密码被泄露,这也会显着降低未经授权访问的风险。
  • 禁用不活动用户:定期检查和禁用不活动用户帐户,以最大限度地降低未经授权访问的风险。 未使用或休眠的帐户很容易成为黑客利用的目标。 考虑实施自动化流程来停用在指定时间内不活动的帐户或要求用户定期确认其活动。

通过实施这些最佳实践,您可以显着提高 WordPress 网站的登录安全性,降低未经授权的访问风险并增强针对恶意活动的整体防护。

总结如何在 WordPress 中限制登录尝试

这就是我们关于限制 WordPress 登录尝试的指南! 请记住,这个简单的步骤可以在保护您的网站免受在线威胁方面发挥巨大作用。 这就像在您的数字门上加一把锁——对于保护您的宝贵信息至关重要。

当您继续开发网站时,请牢记安全性。 随时了解最新的安全提示,并准备好根据需要调整您的措施。 毕竟,保证网站安全是一项持续的工作。

因此,请对加强网站的安全充满信心。 通过限制登录尝试,您不仅可以保护自己,还可以保护您的访客。 为建立一个更安全、更快乐的 WordPress 社区而干杯——一步一个脚印。 确保安全并保持在线繁荣!

订阅 weDevs 博客

我们每周发送时事通讯,确保没有垃圾邮件