Repository navigation
Releases: itfkybb/Cache-Boost
Release list
1.1.1 — 安全修复:wp-config 备份泄露
1.1.1
安全修复版本,建议所有 1.1.0 及更早版本升级。
修复内容:wp-config 备份会泄露到公网
旧版本在后台点「一键写入 WP_CACHE」时,会把 wp-config.php 复制到网站根目录,文件名形如:
wp-config.php.hcb.bak-20261102033730
这个后缀不以 .php 结尾,Web 服务器不会执行它,而是把文件当纯文本原样输出。任何人访问该地址即可下载完整的 wp-config.php——包含数据库账号密码与 8 个 AUTH 密钥。
生产环境实测:HTTP 200,3,670 字节,源码完整可读。
改动
- 备份改存
wp-content/hcb-backups/ - 该目录自动写入拒绝 HTTP 访问的
.htaccess(同时兼容 Apache 2.4 的Require all denied与 2.2 的Order deny,allow) - 文件名追加 8 位随机串:
wp-config-时间戳-随机串.bak - 文件权限
0600,目录权限0700
升级后请手动处理
旧版本已经生成的备份文件不会自动清理,它们仍留在网站根目录。请检查站点根目录并删除所有 wp-config.php.*.bak 形式的文件。
如果无法确认这些文件是否曾被外部访问,建议同时轮换数据库密码与 AUTH 密钥(轮换 AUTH 密钥会使所有已登录会话失效)。
验证结果
| 检查项 | 结果 |
|---|---|
wp-content/hcb-backups/ 目录访问 |
403 |
| 备份文件访问 | 403 |
| 备份文件权限 / 属主 | 600 / www |
| 后台四个视图渲染 | 正常 |
| 站点前台 / 登录页 | 200 |
1.1.0 — 定向失效 / 后台栏清理 / WP-CLI
1.1.0
首个带运维能力的版本:从「能缓存」走到「能精细控制缓存」。
新增
- 按文章定向失效:
purge_scope = smart时,发布/更新文章只清「本文 + 首页 + 分类/标签归档 + 作者页 + feed + 年度归档」,不再整站清空。内容量大的站点不会再出现「发一篇文章全站缓存归零」。 - 后台栏「清理本页缓存」:登录后在前台任意页面点一下,只清当前 URL,带 nonce 校验。
- WP-CLI:
wp hcb purge | purge-url <url> | status | preload [n] | refresh [n],适合配合部署脚本。 - 统计增强:新增未命中计数、节省传输量、近 7 日趋势;命中率按
hits / (hits + miss)计算。 - 临期主动重建:每 5 分钟挑
ttl*0.8 ≤ age < ttl的页面重建,随机起点;发布后自动预热首页与本文,消除冷启动空窗。 - HTML 压缩:删注释(保留
<!--[if条件注释)、归一化标签间空白,pre/textarea/script/style整块跳过。
修复
normalize_path()传入完整 URL 会拼出/https://...坏键,导致后台栏/CLI 清不掉缓存。- 合并 CSS/JS 时误改内联脚本内的
.js?ver=字符串。 purge_all()连带清零命中统计。- 统计累加非原子(读改写丢计数),改为
fopen('c+') + flock(LOCK_EX) + ftruncate。 - 后台每次打开都全目录扫盘,改 60 秒瞬态。
refresh_expiring()按scandir固定顺序,永远只重建同几页,改shuffle()。- 卸载时漏清 option、定时任务与瞬态。
安装
下载下方 hcb-cache-boost-1.1.0.zip,后台「插件 → 上传插件」安装,启用后到「工具」页确认 advanced-cache.php 已安装并开启 WP_CACHE。
1.1.0 已在作者站点实际运行验证:命中/未命中、304、gzip、发布后失效、后台栏清理、定向失效 URL 集合均通过。
Cache Boost 缓存加速 v1.0.0
Cache Boost 缓存加速 v1.0.0
把 WP Super Cache 的磁盘静态页缓存 与 Autoptimize 的 CSS/JS 合并压缩 整合为单一插件。两者共用同一条 ob_start 输出管线,缓存中保存的是「优化后」的 HTML —— 从根源上避开两个插件各自开缓冲、互相覆盖的经典故障。
功能
- 磁盘静态 HTML 缓存,命中时不加载 WordPress(
advanced-cache.php阶段直接结束请求) - gzip 副本、ETag/304、TTL 过期、定时回收
- 相邻本地 CSS/JS 合并压缩,
url()自动改写为绝对地址 - 内联样式/脚本压缩、图片原生懒加载、去除
?ver=查询串 - 后台命中率统计与一键清缓存
- 与 WP Super Cache / W3TC / LiteSpeed / WP Rocket 冲突时自动退让
环境要求
| 项目 | 要求 |
|---|---|
| WordPress | ≥ 6.0 |
| PHP | ≥ 7.4 |
| 许可证 | GPL-2.0-or-later |
安装
- 后台上传
hcb-cache-boost-1.0.0.zip安装并启用(或解压至/wp-content/plugins/) - 在
wp-config.php中加入define( 'WP_CACHE', true );(插件「工具」页可一键写入) - Apache/LiteSpeed 用户在「工具」页写入
.htaccess规则;Nginx 用户使用页面提供的配置片段
⚠️ 开发状态
本插件尚未经真实 WordPress 环境验证,目前仅完成静态语法校验与压缩算法的边界用例测试。请先在测试站验证,确认缓存命中、资源合并与后台功能均正常后再用于生产环境。
本版仓库说明
本 Release 对应的源码已补全 includes/ 目录下的 9 个核心类文件 —— 此前仓库中的 includes 是一个 1 字节占位文件(网页端创建目录失败所致),导致主文件 9 条 require_once 全部落空、插件无法加载,已修复。
附件 hcb-cache-boost-1.0.0.zip 与仓库 main 分支源码内容完全一致,可直接用于安装。