第57批续21: 领地子领地体系 + 重叠身份闸门(修绕过漏洞)
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m36s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s

【任务1 修绕过漏洞】confirm_create(圈地棒主路径)原零重叠检测,任何玩家都能在别人领地内
建重叠领地绕过权限限制。新增 findContainingMainLand(完全包含判定,排除子领地)+
isQualifiedLandManager(领地主/管理员/授权管理员身份校验):
- 选区完全包含于某主领地+身份合格→建子领地(parentId=主领地id,owner沿用主领地主)
- 身份不合格→拒绝'当前范围内已有领地'
- 部分重叠(跨边界)→一律拒绝
quickCreateLand(3×3)部分重叠仍拒绝;完全包含且身份合格则自动转 confirm_create 建子领地
审批 create 路径(handleApproval)同步套重叠闸门,防超面积审批绕过
【任务2 子领地体系】area_lands 加 parent_id 列(CREATE+ALTER迁移);AreaConfig 加 parentId
子领地权限挂父领地 land_id 的 area_land_permissions 表(可单独收紧/放行);
getPermissionLevel 加'父领地管理员在子领地内继承ADMIN'(封堵越权);新增 findLandNameById;
圈地棒选区后追加'智能识别领地'提示
约束:子领地仅1级、必须完全包含、按面积正常收费、命名冲突自动加序号
This commit is contained in:
youpaishidifu
2026-10-27 16:47:28 +08:00
parent 7c649675d6
commit 7b8aa4e194
File diff suppressed because it is too large Load Diff