Skip to content

Releases: itfkybb/Cache-Boost

1.1.1 — 安全修复:wp-config 备份泄露

Choose a tag to compare

@itfkybb itfkybb released this 02 Nov 06:11

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

Choose a tag to compare

@itfkybb itfkybb released this 02 Nov 05:50

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

Choose a tag to compare

@itfkybb itfkybb released this 02 Nov 05:36

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

安装

  1. 后台上传 hcb-cache-boost-1.0.0.zip 安装并启用(或解压至 /wp-content/plugins/)
  2. 在 wp-config.php 中加入 define( 'WP_CACHE', true );(插件「工具」页可一键写入)
  3. Apache/LiteSpeed 用户在「工具」页写入 .htaccess 规则;Nginx 用户使用页面提供的配置片段

⚠️ 开发状态

本插件尚未经真实 WordPress 环境验证,目前仅完成静态语法校验与压缩算法的边界用例测试。请先在测试站验证,确认缓存命中、资源合并与后台功能均正常后再用于生产环境。

本版仓库说明

本 Release 对应的源码已补全 includes/ 目录下的 9 个核心类文件 —— 此前仓库中的 includes 是一个 1 字节占位文件(网页端创建目录失败所致),导致主文件 9 条 require_once 全部落空、插件无法加载,已修复。

附件 hcb-cache-boost-1.0.0.zip 与仓库 main 分支源码内容完全一致,可直接用于安装。