第54批:登录验证主权反转 - 消息文案修正
根因:LoginManager.java:309 '正在核对网页端最新密码…' 暗示 PHP 有更高权威, 用户感知「主权搞反了」。 架构现状(已确认无需改动): - PHP 不验证密码(sync.php verify_web_password 已禁用) - Java 本地 checkPasswordWithFallback 为主 - Java 拉回 PHP 凭证入库主密码(applyPulledRow → updatePassword) - Java 回传结果给 PHP(sendWebLoginResult → complete_web_login_request) 修复: 1. LoginManager.java: 消息文案改为中性「正在同步账号数据…」 2. WebManager.java:6550: 冻结解冻消息改为「请在游戏内执行 /sdf1_login pw」 3. 注释更新:明确「拉回PHP凭证入库为主密码」「以Java本地login.db为准」 验证: - 括号配平 PASS(final=0, min=0) - mvn clean compile BUILD SUCCESS (16.9s) - 行尾:LoginManager LF, WebManager CRLF
This commit is contained in:
@@ -218,8 +218,8 @@ public class LoginManager {
|
||||
}
|
||||
|
||||
|
||||
// ★第48批#244:密码不匹配 → 先尝试与网页端即时对账(网页可能刚改密被覆盖),
|
||||
// 15秒/人限流;对账完成后主线程自动重校验,仍未过才计失败次数
|
||||
// ★第54批:密码不匹配 → 先同步账号数据(拉回PHP侧凭证入库为主密码),
|
||||
// 15秒/人限流;同步完成后主线程自动重校验(以Java本地login.db为准),仍未过才计失败次数
|
||||
if (maybeRetryAfterWebSync(p, pwd)) return true;
|
||||
|
||||
// ★ 密码错误,记录风控
|
||||
@@ -292,7 +292,7 @@ public class LoginManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* ★第48批#244:密码校验失败时先与网页端对账(拉回网页新密码)再自动重试一次。
|
||||
* ★第54批:密码校验失败时先同步账号数据(拉回PHP侧凭证入库)再自动重试一次。
|
||||
* 15秒/人限流;重试仍失败走正常风控计数。
|
||||
*
|
||||
* @return true = 本轮 /login 已交给异步对账流程处理(调用方直接 return)
|
||||
@@ -306,7 +306,7 @@ public class LoginManager {
|
||||
if (last != null && now - last < 15000L) return false; // 15秒/人限流
|
||||
pwSyncRetryAt.put(name, now);
|
||||
pwSyncRetrying.add(name);
|
||||
p.sendMessage("§e§l[登录] §e正在核对网页端最新密码…");
|
||||
p.sendMessage("§e§l[登录] §e正在同步账号数据…");
|
||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
|
||||
try {
|
||||
plugin.webManager.pushWebLoginCredentials(); // 含 alignGate 拉回
|
||||
|
||||
@@ -6547,7 +6547,7 @@ public class WebManager {
|
||||
// ★ 玩家主动冻结账号(异地登录邮件触发):Bukkit 原生封禁
|
||||
String target = targetName;
|
||||
if (!target.isEmpty()) {
|
||||
String reason = "§c§l您的账号已被临时冻结(疑似被盗)\n§7请到网页修改密码后自动解冻";
|
||||
String reason = "§c§l您的账号已被临时冻结(疑似被盗)\n§7请在游戏内执行 /sdf1_login pw 修改密码后自动解冻";
|
||||
Bukkit.getBanList(
|
||||
org.bukkit.BanList.Type.NAME)
|
||||
.addBan(target, reason,
|
||||
|
||||
Reference in New Issue
Block a user