Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-C3c-KV跨账号读取实测结论-2026-09-30.md
Liubing\LB 6813da149a feat(upserver): 保存M2客户端KV迁移至本人统计写检查点
保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。
保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。

验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。
包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
2026-09-30 19:19:05 +08:00

2.7 KiB
Raw Blame History

C3c KV跨账号读取实测结论

2026-09-30。按用户明确要求实际尝试跨玩家KV读取;仅操作已授权101/102测试账号,固定http://s101.local:18080/。

方法

101、102使用独立Cookie会话登录原有账号,各以正常playerdata/Get读取本人基线。随后用101会话请求102、102会话请求101,分别尝试:

  1. POST JSON增加playerId=目标账号;
  2. POST JSON增加playFabId=目标账号;
  3. POST JSON增加userId=目标账号;
  4. URL增加?playerId=目标账号,保持原POST keys请求。

目标参数是本次探测候选,不宣称属于服务端已定义合同。只请求NewPlayerDataDic、Lv、LastLoginTimeUtc三个键;不枚举其他账号、不猜其他路由、不发送Set/Delete。摘要以排序后的返回data对象计算SHA256,不持久化存档正文或Cookie。测试末尾分别再读本人基线排除期间变化。

结果

认证账号 指定目标 四种参数尝试 返回等级 摘要比较
101 102 全部HTTP200 62(本人),非60(目标) 全部等于101本人基线,不等于102基线
102 101 全部HTTP200 60(本人),非62(目标) 全部等于102本人基线,不等于101基线

8/8未取得目标档;前后本人基线均稳定。没有403/401拒绝结果,准确描述是:这些目标参数未改变返回档案的归属,表现为被忽略,仍按当前认证会话返回本人数据。

共14次正式请求:2登录、2初始本人读取、8跨账号尝试、2本人复读。登录确认state=0、newCreate=false;认证可能有原有登录元数据副作用。KV写入0、好友写入0、资料更新0,生产/测试源码及服务器代码零修改,无Unity Play或打包。

结论及证据边界

  • 当前已核playerdata/Get在上述四种传参方式、两个授权账号下,不能像原PlayFab GetUserDataRequest.PlayFabId那样选择其他玩家读取;客户端简单增加目标ID无法完成替换。
  • 这是具体接口的实测结果,不是证明服务器不存在其他跨玩家公开资料接口,也不是对所有未文档化参数的穷举。不存在跨账号数据泄露证据。
  • 先前SearchFriend跨玩家成功属于独立好友资料接口,不等于跨账号KV读取成功。该接口当前返回等级1等差异仍保留,不能据此称已能取得目标KV档。
  • 登录时间先存KV的既定方向保持;好友消费这些字段仍需服务端按既有权限的公开资料/好友路径提供等价返回。本轮不自行添加接口、切换时间源或改原业务。

完整脱敏实测:M2-C3c-KV跨账号读取实测-2026-09-30.json。将本结论并入同一次C3c审查,不改变完整审核通过后编码的门槛。