缓存共5篇
维护模式:五个「看起来在工作、其实开了后门」的写法-知集

维护模式:五个「看起来在工作、其实开了后门」的写法

X-Forwarded-For 伪造、放行集合漏判、开关读反、200 而非 503,以及'缓存比维护层更早命中'。附零依赖交付代码与 145 项离线单测。
lixiansen的头像-知集lixiansen12天前
0458
友链申请表单:一次越权写入,和一处「写了但不发」的死角-知集

友链申请表单:一次越权写入,和一处「写了但不发」的死角

「友链申请」是每个站都要做的功能:前台表单(游客可填)→ 后台审核 → 通过后写进链接管理器 + 邮件通知。需求很直白,但写对要处理四类互不相同的问题 —— 其中一个是安全漏洞:审批动作只...
lixiansen的头像-知集lixiansen12天前
04211
文章系列卡片:一个 PHP 8 致命错误,和三处「不报错但白干」的写法-知集

文章系列卡片:一个 PHP 8 致命错误,和三处「不报错但白干」的写法

给文章加「系列连载」导航,核心就三步:注册分类法、查同系列文章、在正文里插卡片。但一份「能跑」的实现里通常埋着五个坑,而且五个都不报错:一个平时完全正常、某天突然整页 500(PHP 8 把...
lixiansen的头像-知集lixiansen12天前
0226
「历史上的今天」为什么永远是空的:三个不报错的死写法,与两个时区坑-知集

「历史上的今天」为什么永远是空的:三个不报错的死写法,与两个时区坑

一个小到几百行就能写完的功能,我先写了三版,三版都不报错、页面都能打开,只是没效果:in_the_loop() 是恒假的守卫、先取 N 条再过滤让 limit 被吃掉、每次浏览都多查一次库。修完之后,又被...
lixiansen的头像-知集lixiansen12天前
03814
内联 CSS 的真实代价:一次把「省 25.6%」证伪的实测-知集

内联 CSS 的真实代价:一次把「省 25.6%」证伪的实测

16 个内联样式块、占页面 21% 的体积,合并到底能省多少?孤立测量说 14%~31%,整页 A/B 说 0.15%~0.36%。本文给出正确口径、线上实测数据,以及把 N 个散点收成「可缓存出口」的零依赖收集器。
lixiansen的头像-知集lixiansen17天前
04013