JE服务端

[BC][群组][安全] LoginGuard管理员登录邮箱验证-二次验证

Chi***Lv.1 新手上路 发表于 2025-2-3 · 最后回复 2025-6-8 IP:吉林省 2,735 1
插件发布
中文名: LoginGuard
外语名:
支持版本: 1.8.x 1.21.x 
适用服务端: BungeeCord 
插件属性: 本体插件 
插件类型: 管理 安全 网页 
前置插件: 无前置
来源: 原创
原帖地址: -
下载地址: https://github.com/SenalMC/LoginGuard/
最后更新: 2025-02-03
📜 项目介绍

LoginGuard 是一个针对 BungeeCord 服务器的登录保护插件,旨在增强服务器管理员的账户安全。通过结合网页端验证和 IP 绑定机制,LoginGuard 可以防止恶意玩家通过获取管理员密码进行登录。只有经过身份验证的管理员,且其 IP 地址与存储的准许 IP 匹配,才能成功登录并管理服务器。
网页文件获取:https://github.com/SenalMC/LoginGuard/

该插件使用 JSON 文件来记录管理员数据,提供了可自定义的配置文件,支持按需更新管理员数据和实时的 IP 地址验证。

功能特点
  • 管理员验证:管理员首次登录时通过网页验证其账号,并将其 IP 地址绑定到服务器。
  • IP 匹配机制:验证时,插件会比较存储的 IP 地址前三段与玩家登录时的 IP 地址是否一致,即使最后一段 IP 地址不同,依然可以成功验证。
  • 自动更新管理员数据:当管理员登录时,插件会自动更新管理员数据,确保 IP 地址的有效性。
  • 配置文件:插件支持自定义配置,JSON 文件存储管理员信息,配置文件(config.yml)支持编辑 JSON 文件地址和踢出玩家提示等内容。
  • 兼容性:支持 BungeeCord 服务器,适用于多个游戏服务器环境。


安装方法
  • 下载 LoginGuard 插件的最新版本,并将 .jar 文件上传到你的 BungeeCord 服务器的 plugins 文件夹中。
  • 运行服务器,插件会自动生成默认配置文件 config.yml。你可以编辑该文件来配置 JSON 文件的地址和其他相关设置。
  • 在 BungeeCord 启动完成后,插件会自动加载管理员数据,并在每次管理员登录时进行 IP 地址验证。
  • (不支持热更新,若需更新JSON文件地址,在编辑完毕后请重启服务器)



⚙️ 配置说明
  1. # LoginGuard 插件配置文件

  2. # JSON 数据的地址
  3. #请把地址改为你的JSON文件地址修改为你服务器的JSON文件地址.
  4. #https://github.com/SenalMC/LoginGuard
  5. #请访问我们的Github页面来获得我们的网站页面.

  6. json_url: "https://example.com/abc.json"

  7. # 未通过验证时显示的提示(使用 & 符号来改变颜色)
  8. kick_message: "&c您的 IP 未授权或已过期!\n请访问:\n&6https://ur.website"
复制代码
🌐 管理员验证流程
  • 管理员通过网页访问验证页面并输入玩家 ID 和绑定邮箱地址。
  • 系统通过 PHPMailer 向管理员的邮箱发送一个验证码。
  • 管理员输入验证码,验证成功后,系统会记录管理员的当前 IP 地址并允许登录。
  • 该 IP 地址在 12 小时内有效,12 小时后,管理员需要重新进行验证。
  • 如果管理员尝试使用不匹配的 IP 登录,将被踢出,并显示配置文件中设置的 kick_message。

⚡ 使用注意事项
  • 插件只对具有 lg.use 权限的管理员有效。普通玩家不会受到限制。
  • json_url 配置项需要确保指向一个有效的管理员数据 JSON 文件,该文件需包含管理员的 ID 和绑定的 IP 地址。
  • 请确保服务器的外网 IP 不会发生频繁变动,否则可能导致管理员无法正常登录。


📄 JSON 文件结构管理员数据的 JSON 文件(admins.json)应遵循以下结构:
(JSON文件获取请参考我们的Github地址)
  1. {
  2.   "admins": {
  3.     "playerID1": {
  4.       "email": "admin1@example.com",
  5.       "allowed_ip": "111.111.111.111",
  6.       "expire_time": 1633541234
  7.     },
  8.     "playerID2": {
  9.       "email": "admin2@example.com",
  10.       "allowed_ip": "222.222.222.222",
  11.       "expire_time": 1633541234
  12.     }
  13.   }
  14. }
复制代码
网页文件获取:https://github.com/SenalMC/LoginGuard/
致谢:LoginProtect by LegendOfHero


LoginGuard-1.0.jar

268.6 KB, 下载次数: 136

回复 1 最早 最新 只看楼主
您需要登录后才可以回帖 登录 | 立即注册
本版积分规则