ypsdf1
|
0bf1cd8248
|
第58批续24: PHP端信誉积分(credit_score)接收+管理界面
1. core.php: users表加 credit_score 列 INTEGER DEFAULT 100
2. api/sync.php: syncLogin INSERT加credit_score字段,bindValue默认100
3. api/credit.php(新): 信誉积分API
- ensureCreditTables建credit_records/credit_rules表+users加列
- 用户端: submit_good/submit_bad上报, my_score/user_score查积分, my_records查记录
- 管理员: pending_list/approve/reject/approved_list审批流程, rules/update_rule规则管理
- approve审批通过更新users.credit_score
4. player.php: 侧边栏加⭐信誉积分入口+renderCredit页面+creditSubmitFlow上报引导
|
2026-10-28 14:29:20 +08:00 |
|
ypsdf1
|
dfd3a6fd92
|
第57批续19: PHP 侧 token 0/1 状态位统一管理
1. weblogin_tokens 表加 login_verified INTEGER DEFAULT 0 列(4处建表点+旧表迁移ALTER)。
2. pushPlayerLoginStatus INSERT 写 login_verified 列(取 $loginVerified 参数)。
3. apiValidateWebloginToken 返回 login_verified 字段(前端可读)。
4. core.php validateWebAccess view 路径: !isOnline 时查该 token 的 login_verified 列,
=1 且 token 未过期 → 直接放行(不弹"请输入游戏登录密码"); =0 → need_password。
配合 Java 侧: 已注册/已登录玩家 autoGenerate/pushLoginVerified 推 login_verified=1,
未注册玩家推 0。修复"游戏内注册成功但网页仍要求二次输密码"。
线上探针: validate_weblogin_token/push_player_login_status/web_access_check 三路由
均返回业务级响应(400/403), 非500/Parse error, 证明部署后文件可解析+列迁移成功。
|
2026-10-27 13:31:08 +08:00 |
|
ypsdf1
|
a4283f9ef5
|
第57批续18: sync.php孤立清理加24h注册宽限期
根因: syncLogin无条件DELETE FROM users清理孤立记录, 当Java端某轮漏推
(如pull>0早return) 导致刚注册玩家aDuki_Abb被误删 → 网页isPlayerRegistered
只查users表查不到 → 弹"请使用/reg"。
修复: 仅删"不在本次推送 且 register_time距今超过24h"的玩家;
register_time存秒, 异常毫秒自动归一; 分批IN子句+参数绑定防注入;
宽限期内保留的刚注册用户记debugLog。
|
2026-10-27 12:07:03 +08:00 |
|
ypsdf1
|
9cd6bd5ff3
|
第57批续17-hotfix: 修复pullEmailBindings括号笔误(['source]→['source'])导致sync.php解析失败全挂
|
2026-10-27 11:42:36 +08:00 |
|
ypsdf1
|
6136c090ea
|
第57批续17: 邮箱权威权交还Java(PHP路线B)——PHP不独占写users.email,改投email_bind_return队列+pull_email_bindings拉取动作+一次性存量对账脚本
|
2026-10-27 11:26:45 +08:00 |
|
ypsdf1
|
838e292742
|
第57批续16: 修复验证码提交无反应——抽屉/模态框同id acctErr冲突(限定容器查找+closeDrawer清空DOM)
|
2026-10-27 10:42:24 +08:00 |
|
ypsdf1
|
165adcb532
|
第57批续15: 修复pwd_verified类型不匹配——Java发数字1,PHP=== '1'严格比较永远false
- 根因: Java端JSON body发送"pwd_verified":1(整数) → PHP json_decode解析为整数1
→ === '1'严格字符串比较 → 整数1 !== 字符串'1' → $pwdVerified永远false
→ 续14修复无效(条件改对了但值永远是false)
- 修复: (string)getParam('pwd_verified','0') === '1'
|
2026-10-26 23:24:32 +08:00 |
|
ypsdf1
|
b6914c52f9
|
第57批续14: 修复approve分支pwdVerified时expire_at拦截导致卡在approved
- 根因: pwdVerified=true时PHP仍要求now<=expire_at(60秒时效)才completed
→ 批准+验密在approve之后,expire_at早过→状态卡在approved
→ 前端轮询等不到completed→弹窗卡在'正在验证密码'
- 修复: pwdVerified=true直接completed,expire_at只约束pending/notified阶段
|
2026-10-26 23:14:34 +08:00 |
|
ypsdf1
|
2e04d9cf36
|
第57批续13: 修复绑邮箱弹窗蒸发+双取消按钮
- 根因1: acctBindEmailPollTick approved分支调用不存在的acctBindEmailPwdStep()
→ JS ReferenceError → drawer已关闭、弹窗蒸发
修复: approved后继续轮询等completed(Java验密码后写completed),不切界面
- 根因2: acctBindEmailWait的confirm按钮文字设为'取消' → 与drawer原生取消
按钮构成双取消
修复: confirm文字改为'等待批准中…'并禁用(仅保留drawer原生取消按钮)
|
2026-10-26 22:53:14 +08:00 |
|
ypsdf1
|
a33aba1b13
|
第57批续12: 修复token有效期误判+绑邮箱弹窗邮箱字段缺失
- core.php: validateWebAccess view操作不再要求web_login_verified——
token 10分钟内有效即直接放行,在线玩家无需二次密码(之前逻辑要求
Java推送web_login_verified才放行,导致自动注册token延期即失效)
- api/account.php: acctBindEmailPoll SQL补email字段——前端
acctBindEmailCodeStep(d.email)拿不到邮箱,绑邮箱弹窗蒸发
|
2026-10-26 21:49:50 +08:00 |
|
ypsdf1
|
d18f983b83
|
第57批续10: 修复拒绝/批准后弹窗不显示——acctBindEmailFinish各分支补display=flex
|
2026-10-26 18:57:45 +08:00 |
|
ypsdf1
|
6daedd5dbc
|
第57批续9: 修复弹窗卡死(poll终态前关drawer)+token偶发无效(web_login_verified fallback)
|
2026-10-26 18:41:34 +08:00 |
|
ypsdf1
|
ffeffbe7cd
|
第57批续8-3: 微模糊毛玻璃——overlay轻blur(4px)+极浅背景(0.08),card半透明(0.45)让模糊透出
|
2026-10-26 18:16:47 +08:00 |
|
ypsdf1
|
e440dea033
|
第57批续8-2: 毛玻璃切一刀——overlay去blur只压暗,card提高透明度让背景透出(从全雾化改为真毛玻璃)
|
2026-10-26 17:24:10 +08:00 |
|
ypsdf1
|
79b75a0f76
|
第57批续8: 第4次修毛玻璃——根因修复backdrop-filter嵌套失效;overlay增强blur+降透明度,card去backdrop-filter+降透明度
|
2026-10-26 17:00:50 +08:00 |
|
ypsdf1
|
c4f6f2fa1c
|
第57批续7: 弹窗毛玻璃+抽屉式动画;PHP不再重复验密改为验证码确认;绑定完成直接进验证码步骤
|
2026-10-26 16:27:29 +08:00 |
|
ypsdf1
|
3c8b573d05
|
第57批续6: 修复2个bug
1. modal弹窗加毛玻璃效果(backdrop-filter blur)
3. acctBindEmailPwdStep显示modalOverlay(批准后卡死修复)
|
2026-10-26 14:58:42 +08:00 |
|
ypsdf1
|
5175cb46fb
|
第57批续5: 修复2个bug
3. acctBindEmailFinish rejected状态简化为单关闭按钮(Bug#3)
4. drawer-card毛玻璃效果修正(Bug#4)
|
2026-10-26 13:15:12 +08:00 |
|
ypsdf1
|
c8a7cd73a6
|
第57批续4:绑邮箱向导展示可绑定邮箱类型+drawer卡片毛玻璃效果
|
2026-10-26 12:00:57 +08:00 |
|
ypsdf1
|
6d93d69226
|
第57批续3:无充值规则时隐藏在线充值入口
- 头部计算 HAS_RECHARGE_RULES(查 orders.db shop_configs is_active=1 计数)
- 侧边栏 recharge 项按 HAS_RECHARGE_RULES 显示/隐藏
- <script> 注入 hasRechargeRules JS 变量
|
2026-10-26 10:49:39 +08:00 |
|
ypsdf1
|
203545a719
|
第57批:新增clear_bans接口(cancel ban确认解封时清空PHP封禁数据)
|
2026-10-25 21:31:22 +08:00 |
|
ypsdf1
|
716d43b8c2
|
第56批:checkEmailSuffix移至core.php共享(register/account可直接调用)
|
2026-10-25 18:57:49 +08:00 |
|
ypsdf1
|
80c4073445
|
第56批:修复webEmailBindResult非法action+后缀三模式校验(Java权威)+绑定邮箱抽屉动画
|
2026-10-25 18:40:35 +08:00 |
|
ypsdf1
|
fe882cf73a
|
第56批:修复webEmailBindResult「非法action」报错 - action只从POST body读,避免URL路由参数污染
|
2026-10-25 18:17:57 +08:00 |
|
ypsdf1
|
685a1dace2
|
第55批:login_verified=0时清除web_login_verified旧记录,防止残留导致Web端误放行
|
2026-10-25 17:37:21 +08:00 |
|
ypsdf1
|
f2859fe6e5
|
第53批:网页绑邮箱三接口+前端向导——不拦截改游戏内60秒批准,密码复核+IP连错5次封5分钟
|
2026-10-23 23:01:59 +08:00 |
|
ypsdf1
|
3a4252e861
|
第52批: 修复\/JSON转义脏值PHP侧(清洗函数+比对容错+存量自愈)
- core.php新增b64Clean(base64白名单清洗)与cleanB64DirtyOnce(存量清洗,自备.b64clean标记挂migrateDatabase锁前)
- 比对点接入b64Clean: core.php临时/主密码验证, account.php第一层比对与改密回读, sync.php改密旧密码验证
- 根因: PHP json_encode默认把base64中的/转义成\/,Java历史解析层漏还原写进库,hash脏值致两端密码恒错; 本侧为第52批四层防护的PHP半边
|
2026-10-23 19:21:26 +08:00 |
|
ypsdf1
|
4acb6712cd
|
修复第48批改密弹窗按钮永久禁用:checklist守卫改用_acctPwdSubmitting标志
|
2026-10-23 14:26:28 +08:00 |
|
ypsdf1
|
a0aeabf22d
|
第48批(2/2):网页改密强度对齐游戏+实时校验+成功面板留屏;容错解盐修脏盐玩家网页端恒密码错误;bing壁纸代理地址补api前缀
- core.php: 新增 pwdRuleError(6-20位+大写+小写+数字,与游戏 PasswordUtils.validate 同一把尺子)
与 saltDecode(镜像Java清洗,strict解码前先剔除非base64字符)
- account.php: acctChangePassword 套用 pwdRuleError;acctPwdCheck 改走 saltDecode
- sync.php: changePassword/resetPassword 套用 pwdRuleError;changePassword 老密码校验改走 saltDecode
- player.php: 改密弹窗加实时4项校验清单(oninput更新✓/✗,全绿才可提交);
成功后不关弹窗,展示明文新密码+复制按钮+同步说明(供截屏保存),保留 notifyJavaSync
- wallpaper.php: bing/NASA 代理地址补 api/ 前缀(原相对路径经前端路由转发后404);
缓存键 bing->bing_v2(旧6h缓存存着坏URL,版本化立即生效)
|
2026-10-23 11:48:27 +08:00 |
|
ypsdf1
|
d0cdadd29d
|
第47批:2FA绑定状态双向同步(pull_state/push_state);图片壁纸下卡片/侧栏半透明毛玻璃自适应;壁纸源改四级fallback(必应主域/中国镜像/NASA APOD/picsum兜底)+转发白名单扩充
|
2026-10-22 23:24:32 +08:00 |
|
ypsdf1
|
3e2bd64a70
|
第46批:修复账号安全卡二维码扫不出(换Arase SVG带静区方案,提取qrcode-svg.js复用twofa_qr库);用户端&管理员端背景系统升级三模式(纯色/图片URL/必应API壁纸,遮罩强度可调,新增api/wallpaper.php代理带缓存与SSRF白名单)
|
2026-10-22 20:59:32 +08:00 |
|
ypsdf1
|
9dcf5dcb93
|
第45批:修复账号安全卡报缺少web_token参数(apiPost统一注入web_token)+游客模式提示先登录
|
2026-10-22 19:18:18 +08:00 |
|
ypsdf1
|
71b644182c
|
第44批:玩家端账号安全双层验证(改密/2FA绑定解绑/恢复代码)+admin用户搜索卡住根因修复+sync改密列名修复
|
2026-10-22 18:55:26 +08:00 |
|
ypsdf1
|
d4748c4e62
|
3.11内测版:在线曲线采集上收core全站唯一入口+领地管理分页
- core.php 新增 onlineCurveEnsureSnapshot:心跳判据(>120秒记0防停服假曲线)、60秒节流、保留7天、source列迁移
- sync.php 三挂点(sync_online_players/online_heartbeat/对账兜底)自动留样本,不再依赖有人开页面
- online_curve.php 三本地函数改薄壳+max字段改真实最大值+文案改Java同步自动采集语义
- admin.php 领地列表/权限商店分页渲染:每页10/20/30预制+自定义不封顶+localStorage记忆;曲线文案同步
|
2026-10-22 16:43:00 +08:00 |
|
ypsdf1
|
f62a446d03
|
第33批:修安全拦截三函数路由错侧——删sqlite_master探测改直查目标表
playerWebBanReason/playerWebBlacklistReason/isIpBlacklisted 原先用
sqlite_master 存在性探测句抽表名(dbExtractTables只抽到sqlite_master)
→ 被dbPickSide判为非Java表 → 在caoyuanphp查information_schema →
目标表实际在caoyuanjava → prepare失败恒放行 = 拉黑玩家仍可进后台。
对齐sync.php第16批getBanBoard先例:SQL自带表名直接路由正确侧,
prepare失败按放行处理(fail-open不锁死正常玩家)。
|
2026-10-21 17:08:34 +08:00 |
|
ypsdf1
|
bca9b9af47
|
第32批:后台识别拉黑信号——sync_blacklist落表、validateWebAccess拉黑拦截、CDK兑换与前端拉黑提示
|
2026-10-21 15:10:47 +08:00 |
|
ypsdf1
|
bcc22df797
|
第29批:封禁对账bans配置cols携带created_time(map→created)供Java收回时回填BanEntry创建时间;hashcols不动防指纹恒changed
|
2026-10-17 13:37:47 +08:00 |
|
youpaishidifu
|
82c688c631
|
二次更新readme.md
|
2026-10-16 03:53:25 +00:00 |
|
youpaishidifu
|
831b2b53d7
|
更新 readme.md
|
2026-10-16 03:52:35 +00:00 |
|
ypsdf1
|
8337f06cda
|
恢复误推的readme.md内容
|
2026-10-15 14:19:06 +08:00 |
|
ypsdf1
|
ac1b0c86fd
|
第十九批:封禁公示按播报起点过滤(web_player_bans补created_time列并随推送入库、web_ban_board_cfg存ban_cutoff、查询加created_time>=起点) + 登录页人机验证组件300px按容器宽等比缩放对齐防溢出
|
2026-10-15 14:08:49 +08:00 |
|
ypsdf1
|
76c08ec0f2
|
同步一份最新的readme.md
|
2026-10-15 12:03:08 +08:00 |
|
ypsdf1
|
a2171262e6
|
第十七批:个人中心封禁公示卡片挪到详细信息板块下面
|
2026-10-14 20:34:53 +08:00 |
|
ypsdf1
|
79280c3990
|
封禁公示到期时间秒/毫秒归一:Java推毫秒,接口与前端统一按秒
|
2026-10-14 19:22:32 +08:00 |
|
ypsdf1
|
af6fb3b67e
|
封禁公示接口加固:路由侧无表时显式换侧兜底,区分0条与表缺失
|
2026-10-14 19:08:49 +08:00 |
|
ypsdf1
|
b99412cc8a
|
第十六批缺陷修复:封禁公示改查java侧表+卡片入内容区自适应高度+后台AGPL页脚
|
2026-10-14 18:58:05 +08:00 |
|
ypsdf1
|
e12a972ad7
|
第十六批:玩家端封禁公示卡片+AGPL合规页脚与开源地址.txt+封禁synced_at保序
|
2026-10-14 18:08:43 +08:00 |
|
ypsdf1
|
489b83f29d
|
land_api输出缓冲加固防HTML污染;admin前端apiCall容错HTML响应
|
2026-10-12 00:23:11 +08:00 |
|
ypsdf1
|
8a669b1e24
|
用户组新增二手交易上架数量限制与保底价格字段
- land_api.php 六处 web_user_groups 建表加 shop_max_listings/shop_min_price 列
- 三处 migrations 加 ALTER,handleUpdateUserGroup INSERT/bind 带两字段
- sync.php 建表/迁移/INSERT 同步两字段(配合Java推送)
- admin.php 用户组新建/编辑表单与提交、列表详情显示两字段(-1=跟随全局)
|
2026-10-11 21:24:25 +08:00 |
|
ypsdf1
|
fcc8f08ef7
|
push_shop_stock 返回回执单:回显 push_id/内容指纹fp/条数,供 Java 核验 PHP 确实收到
|
2026-10-11 10:37:26 +08:00 |
|