如何在 WordPress 中限制用户登录到一台设备

已发表: 2024-11-28
how to restrict user login to one device in wordpress

您想在 WordPress 中限制用户登录到一台设备吗?

SaaS、会员制、在线课程和订阅网站所有者可以达成一致的一个问题是,他们因共享帐户而损失了大量收入。许多用户将自己的密码和帐户泄露给其他人,从而降低了盈利潜力。

例如,Netflix 在全球范围内进行了打击,以减少帐户共享,他们称这影响了超过 1 亿个家庭。这导致了数十亿美元的收入损失和非法使用订阅服务。

在 IsItWP,我们在许多创建 WordPress 插件和软件的姊妹公司中看到了类似的问题。我们已经看到控制密码和帐户的共享是多么困难。

事实证明,限制 WordPress 中的帐户共享是解决此问题的有效解决方案。通过将用户限制在一台设备上的一个活动会话,我们能够防止未经授权的访问,阻止凭证共享,并更好地控制用户行为。

在本文中,我们将逐步引导您了解我们用于确保单用户一台设备的方法。我们将向您展示不同的技术,以便您可以选择最适合您业务的技术。

限制用户登录到一台设备的重要性

如前所述,单设备登录有助于减少帐户共享。但它能做的远不止这些。对于初学者来说,它可以让您更好地控制谁可以访问您的网站以及在哪里可以访问您的网站,从而帮助提高网站安全性。

即使同一用户拥有多台设备,当他们登录新设备时,系统也会自动将他们从之前的设备中注销。因此,该系统可以帮助您始终强制执行一台设备的登录限制。

以下是限制用户登录到一台设备的其他原因。

  • 内容保护:确保对优质内容的独占访问,防止共享登录造成的收入损失。
  • 准确的用户指标:提供对实际用户参与度和流量的可靠见解,这对于分析和决策至关重要。
  • 提升用户体验:减少多会话时的登录冲突,保证合法用户的流畅访问。
  • 法律合规性:帮助用户遵守需要单用户访问的许可协议或订阅条款,避免潜在的法律问题。
  • 负载管理:通过限制一个帐户同时运行的连接来减少服务器压力,从而提高站点性能和稳定性。
  • 欺诈预防:阻止恶意尝试利用共享凭据,降低欺诈风险。
    更好地控制管理员:使您能够更好地控制用户行为和会话管理,从而更好地执行站点策略。

如您所见,将用户登录会话限制在一台设备上有很多好处。但是,每个企业都有不同的模式,对一个企业有效的模式可能不适用于另一个企业。因此,为了确保您找到适合您的方法,请查看实施每个用户一个会话策略的2 种方法。

  • 使用 Loggedin – 限制活动登录插件(免费且简单)
    • 使用WPCode(免费但高级的方法)

      话虽如此,让我们引导您了解确保 WordPress 网站上有一个活动会话的所有这些方法。

      使用 Loggedin – 限制活动登录插件(免费且简单)

      如果您正在寻找一种免费且简单的方法来自动限制用户登录到一台设备,Loggedin – 限制活动登录插件就是您的解决方案。

      此登录限制插件允许您设置每个用户的最大活动登录数。当达到登录限制时,它还会阻止任何新的登录,从而强制其他人注销。

      第 1 步:安装 Loggedin – 限制活动登录

      如前所述,Loggedin – Limit Active Logins 是一个免费插件。因此,您可以通过转到 WordPress 仪表板中的所有插件 » 添加新插件来访问它。之后,使用搜索栏从 WordPress 插件存储库中查找该工具。

      loggedin installation

      然后,像安装任何其他插件一样安装并激活它。如果您遇到任何问题,请查看这篇有关如何安装插件的文章。

      第 2 步:设置登录 - 限制活动登录

      接下来,导航至“设置”»“常规” ,然后滚动至“登录设置”。

      首先,您会注意到,默认情况下,这个基于设备的用户登录插件将最大活动登录数设置为 3。您可以自定义此数字以适合您的网站。因此,任何超出设定次数的登录尝试都将被自动拒绝,即使其他浏览器已关闭。

      但是,要进一步自定义您的用户体验,请转到登录逻辑,您可以在其中获得 2 个复选框选项。

      • 如果您选择“允许”,插件将停止旧会话,为新登录创建空间,并遵守设置的限制。
      • 如果您选择“阻止”,插件将拒绝任何新的登录尝试,直到当前会话过期。

      除此之外,您还可以使用“强制注销”功能手动控制登录 WordPress 网站的人员。通过输入用户 ID ,您可以强制用户退出所有设备。这是提高站点安全性和管理用户访问的好方法。

      loggedin settings

      现在,由于 WordPress 依赖缓存来调节登录尝试和跟踪会话,因此该插件允许您设置“缓存级别”。因此,登录 – 限制活动登录数为您提供了 4 个缓存级别选项供您选择。

      • Normal:该模式以标准方式缓存会话数据,平衡性能和可靠性。它适用于大多数没有高级缓存机制的站点。
      • 仅资产:限制缓存静态资产(例如 JavaScript 或 CSS),最大限度地减少动态登录会话管理干扰。在管理动态内容敏感环境时,此模式非常有用。
      • 高级:优化的缓存系统用于更有效地处理会话。它非常适合高流量的站点,因为它确保插件与更复杂的缓存层(如对象缓存)进行交互。
      • 关闭:它完全禁用插件的缓存,强制它为每个请求直接检查数据库或会话存储。此模式可确保准确的会话跟踪,但可能会降低性能。
      loggedin cache level

      完成后,点击页面底部的“保存”,您现在可以轻松地将用户的登录会话限制在一台设备上。

      loggedin blocked login example

      这种限制用户共享帐户的方​​法既快速又简单。但它的定制选项有限,可能会降低较大团队和用户群的效率。如果您需要高级自定义选项,我们建议使用方法 2。

      使用WPCode(免费但高级的方法)

      正如您在上面看到的,Loggedin – Limit Active Logins 是一个简单的插件,仅允许您限制所有用户同时登录。但是,如果您想对此登录协议做出一些例外,该怎么办?

      如果您想让自己、团队成员或某些用户绕过此登录限制以帮助更好地管理您的站点,该怎么办?

      如果您需要多个团队成员访问单个帐户,这会很有帮助。例如,您可能想要测试功能或排除错误,尤其是在暂存或开发环境中。

      同时,允许多个用户共享一个帐户可以帮助您更好地管理资源。

      因此,我们推荐 WPCode。

      wpcode homepage

      WPCode 是最好的 WordPress 代码片段插件。它配备了拖放界面和大型代码片段库,允许您在没有开发人员经验的情况下在网站上插入代码。

      它具有智能条件逻辑功能,允许您的网站仅在满足某些条件(例如登录成员、特定 URL 等)时加载代码片段。

      最重要的是,它会检查您添加的任何手动代码片段,以确保它们完美运行并且不会破坏您的网站。由于我们将手动添加登录绕过代码,因此此功能非常有用。

      考虑到这一点,您将需要一些基本的代码经验才能使用此方法。

      第 1 步:安装 WPCode

      现在,尽管 WPCode 提供了高级版本,但免费版本仍然可以帮助添加此代码。要获取 WPCode Lite,请转到您的 WordPress 插件存储库并搜索它。

      wpcode free install

      安装并激活后,前往代码片段 » + 添加片段

      这会将您重定向到包含 130 多个预添加代码的代码片段库。在这里,选择“添加您的自定义代码(新片段)”以打开代码类型弹出窗口。

      wpcode code snippet templates

      第 2 步:手动添加 PHP 代码段

      然后,在此窗口中选择“PHP Snippet”以打开拖放界面。

      wpcode select code type

      首先,输入代码片段的标题,以便轻松识别并在网站的其他区域重复使用该代码。然后,在 WPCode 片段区域中粘贴以下代码:

      function loggedin_bypass_users( $bypass, $user_id ) {
       
          // Enter the user IDs to bypass.
          $allowed_users = array( 1, 2, 3, 4, 5 );
       
          return in_array( $user_id, $allowed_users );
      }
       
      add_filter( 'loggedin_bypass', 'loggedin_bypass_users', 10, 2 );
      

      接下来,转到以"$allowed_users = array"开头的代码行 4,并将数字替换为您想要绕过登录协议的实际用户 ID 。请记住像数字示例一样用逗号分隔每个用户 ID。

      wpcode bypass login restrictions certain users

      但是,使用特定的用户 ID 可能会导致代码很长,尤其是在您拥有大型团队的情况下。结果,您很容易破坏您的网站。

      为了避免这种情况,您可以改用角色。

      为此,请将下面的代码复制并粘贴到 WPCode 片段区域中。

      function loggedin_bypass_roles( $prevent, $user_id ) {
       
          // Array of roles to bypass.
          $allowed_roles = array( 'administrator', 'editor' );
       
          $user = get_user_by( 'id', $user_id );
       
          $roles = ! empty( $user->roles ) ? $user->roles : array();
       
          return ! empty( array_intersect( $roles, $whitelist ) );
      }
       
      add_filter( 'loggedin_bypass', 'loggedin_bypass_roles', 10, 2 );
      

      然后,再次转到第 4 行,该行以"$allowed_roles = array"开头,您可以在其中获得占位符角色“管理员”和“编辑者”。您可以将此行中的文本替换为适用于您的站点的相关站点角色。请记住用逗号分隔角色,并在每个角色两边放置单引号(“示例角色”)。

      wpcode bypass login restrictions certain roles

      第 3 步:发布代码片段

      完成后,转到 WPCode 片段区域下方找到“插入”选项卡。

      在这里,导航到“插入方法”,您可以在其中使用“自动插入”或“简码”插入代码。然后,使用“位置”下拉列表告诉 WPCode 代码片段应出现在哪里。

      wpcode insert method

      最后,转到“设备类型”,然后选择是否希望代码片段显示在任何设备、仅桌面设备或仅移动设备上。

      wpcode device type

      当您对绕过登录限制的代码感到满意时,请点击“保存片段”并使用切换按钮激活页面顶部的代码。

      wpcode save activate code snippet

      就是这样!您现在可以限制登录到一台设备并允许某些用户绕过此协议。如果您还有其他疑问,请查看下面的常见问题。

      常见问题解答:如何在 WordPress 中限制帐户共享

      免费设置一台设备登录限制的最佳免费工具?

      限制 WordPress 多次登录的最佳免费工具是 Loggedin – Limit Active Logins 和 WPCode Lite。登录 – 限制活动登录允许您设置每个用户的最大活动登录数量,确保他们一次只能从一台设备访问您的网站。另一方面,WPCode 的免费版本允许您更进一步,让您可以按角色和 IP 地址自定义谁可以访问您的网站。

      IP白名单可以阻止同时登录吗?

      IP 白名单可以帮助控制访问,但不是阻止同时登录的解决方案。虽然它确保只有来自批准的 IP 地址的用户才能登录,但它并不能完全限制不同设备上的多个会话。此方法更适合控制静态 IP 环境(例如办公室)的访问,而不是动态用户群。相反,您可以使用 Loggedin – Limit Active Logins 和 WPCode Lite 等插件。

      我可以允许某些用户绕过我的每设备一个会话策略吗?

      是的,您可以使用 WPCode 等工具允许特定用户绕过每设备一个会话策略。该插件允许您将自定义 PHP 代码片段添加到您的网站。这些自定义代码可以将特定用户 ID 或角色排除在登录限制之外。例如,您可以创建用户 ID 或角色(例如管理员)列表来免除限制,从而为这些帐户启用多次登录。

      哪些安全插件可以帮助控制用户登录?

      Wordfence Security 和 iThemes Security 是两个优秀的安全插件,用于控制 WordPress 上的用户登录。 Wordfence 提供双因素身份验证、登录尝试限制和实时流量监控等功能,可有效阻止未经授权的访问。另一方面,iThemes Security 通过启用强大的密码强制、强力保护以及锁定可疑 IP 的功能来增强登录安全性。

      恭喜!您现在可以轻松免费限制多设备登录。查看这篇关于如何限制 WordPress 中的登录尝试的文章,以更好地控制用户登录。

      除此之外,这里还有您可能有兴趣阅读的其他文章。

      • 如何在 WordPress 中正确创建自定义登录页面
      • 如何阻止 WordPress 网站上的暴力攻击
      • 9 个最佳 WordPress 安全插件比较

      第一篇文章向您展示如何创建自定义登录页面以提高用户体验和安全性。下一篇文章重点讨论如何阻止暴力攻击。上一篇文章列出了 9 个最佳 WordPress 安全插件。