友链申请表单:一次越权写入,和一处「写了但不发」的死角
「友链申请」是每个站都要做的功能:前台表单(游客可填)→ 后台审核 → 通过后写进链接管理器 + 邮件通知。需求很直白,但写对要处理四类互不相同的问题 —— 其中一个是安全漏洞:审批动作只...
令牌模型与 lost update:一个只在并发时出现的计数 bug
下载额度这类计数能力只有四个操作,却藏着只在并发时出现的 lost update:5 个并发请求扣 1 次余额,直觉写法竟有 3 个都「扣成功」了。本文给出实测对照与「检查与扣减同一条 SQL」的修法,附...
zibll 隐藏成就体系:一个「发放成功」却从未入账的潜伏 bug
弹窗说恭喜,账上却没有勋章。复盘父主题勋章清册的三全准入条件、flag 先置位掩盖失败、哨兵 get_type 修复方案,附可直接粘贴的零依赖隐藏成就体系。
用 alt 后缀驱动的 WordPress 密集墙排版:从 float 到 flex-wrap 与纵向叠列
本文记录 zibll 子主题「图片宽度排版」模块的完整落地过程:alt 后缀语法设计、为何必须弃用 float、叠列分组算法、线上实测数据与 7 条静默失效的踩坑记录。
异步 DOM 与父主题协作的三个静默失效:剪切板委托、角标标记、与「没反应」
给消息中心做优惠码复制、给站内消息做角标自动刷新,两个功能都坚持「复用父主题」。上线后连报三个「不生效」:点了没反应、角标纹丝不动、控制台手动调也「没反应」。三条都不报错不留日志。...
看板娘不拖慢首屏:六个脚本的串行注入,与三重触发时机
Live2D 看板娘要加载 6 个脚本加模型贴图,直接挂 head 会拖慢首屏。本文讲清两件事:为什么这 6 个脚本必须串行(并行会得到「本地复现不了、线上偶发」的顺序 bug),以及怎么用「事件 + 定时...
维护模式:五个「看起来在工作、其实开了后门」的写法
X-Forwarded-For 伪造、放行集合漏判、开关读反、200 而非 503,以及'缓存比维护层更早命中'。附零依赖交付代码与 145 项离线单测。
评论反垃圾的四个坑:先被自己拦住、节流伪装失败、空内容归属、与「WP 原生背锅」
给站点加评论反垃圾:敏感词/必含中文/最大字数,命中不拒绝只转待审核。功能不到 100 行,但测试过程有四个坑专门带偏你:管理员先被自己拦住、命令行测试撞上评论节流、空内容落在没想到的规...
秘技、限时、自动:三种勋章获取方式,一条授勋通道
三枚成就勋章,三种完全不同的获取方式:秘技(Konami Code)、限时三选一认领、深夜自动授予。交互形态差很远,后端却是同一条通道。本文讲透三种模型各自最容易做错的一处:判定为什么必须在...
安全扫描器:五个「扫了但没扫到」的坑,和一个实测确认的路径逃逸
摘要:「扫一遍站点里的 PHP 文件,看看有没有马」—— 需求一句话,实现也不长:遍历目录、读文件、跑几条正则、列个表。但一个能用的安全扫描器和一段能跑的循环之间,差着五个坑,而它们的共...














