主要特性
- 原始性能:Object Cache Pro 开始编写时考虑了原始性能,以避免不必要的 Redis 读取和写入,并保持很小的内存占用。
- 缓存预热:智能地将 Redis 命令组合成批量的服务器请求。这大大减少了页面加载时间和 Redis 上的整体负载。
- 数据压缩:数据压缩显着减少了 Redis 内存使用和网络 I/O。Object Cache Pro 支持 LZF、LZ4 和 Zstandard 压缩。
- WooCommerce 支持:Object Cache Pro 针对 WooCommerce 进行了广泛的测试和优化。为了让用户放心,还在监控 WooCommerce 代码库和即将发布的潜在缓存问题。
- 调试和记录:有时你只是不知道出了什么问题。选择加入日志记录和富有洞察力的错误报告使查找变得轻而易举。甚至可以使用自己的 PSR-3 记录器。
- 100% 符合 API:Object Cache Pro 严格遵循 WordPress 的 Object Cache API 以 避免混淆或那些容易出错的返回值。
- 无缝集成:Object Cache Pro 与 WordPress 本身紧密集成,仪表板小部件使交互变得容易。它的站点健康集成、WP CLI 命令、查询监视器集成和调试栏面板提供了对缓存及其健康状况的深入了解。
- 永不过时:广泛使用的 Predis 库(现在再次维护)的死亡激发了 Object Cache Pro 的模块化代码,它允许立即采用新的扩展 (例如 Credis)和新的后端(DynamoDB 或 Memcached)。
更新日志
Object Cache Pro v1.24.2 更新日志
- 新增
- 添加了 CLI 命令
wp redis analytics-count
的支持
- 添加了 CLI 命令
- 变更
- 防止过多的分析快照
Object Cache Pro v1.24.1 更新日志
- 新增
- 新增对 Relay 自适应缓存的实验性支持
- 新增健康状态、慢速日志和命令统计小部件
- 新增 queryttl 配置选项(默认为 24 小时)
- 支持使用组内小部件计算内存
- 新增组、慢速日志、命令和 prune-queries CLI 命令
- 新增 objectcache_flushlog_limit 过滤器
- 变更
- 防止使用 ElastiCache 无服务器实例时出现错误
- 防止脚本内联时出现意外的令牌错误
- 防止自适应缓存小部件缺失时注册事件监听器
- 已从 ES11 语法切换到 ES6 语法
- 修复了永久链接被禁用时群组扫描 API 调用的问题
- 修复了一些小部件的填充问题
- 防止握手失败时启用缓存
- 连接失败时更有帮助
- 改进诊断和各种健康检查
- 将缓存分析存储为纯 JSON
- 默认情况下,分析中不存储路径和主机名
- 休眠 72 小时以上时优雅地检查许可证
- 以毫秒(而非微秒)显示延迟
- 在组小部件中对结果进行排序
- 将 getWithMeta() 调用记录为 GET
- 在查询监视器堆栈中隐藏 wp_cache_set_last_changed
- 弃用 objectcache/v1/groups 端点上的 count 属性
- 将缓存组下载为 CSV 文件,而不是复制到剪贴板
- 如果 WordPress 版本变更将缓存命令日志级别从“信息”更改为“调试”
- 在默认 ErrorLogLogger 中忽略缓存命令的日志记录
- 已修复
- 已修复 Batcache 兼容性问题
- 已修复 Relay 客户端访问复制和集群连接的问题
Object Cache Pro v1.23.1 更新日志
- 新增
- 在诊断信息中添加服务器类型
- 添加对 KEEPTTL 要求的健康检查(Redis 6.0;PhpRedis 5.3)
- 更改
- 支持使用
$found
来区分false
返回值(PhpRedis 6.2;Relay 0.10.1) - 在清除日志小部件中显示完整性清除原因
- 使用统一的基础 REST 控制器类
- 支持在 Relay 连接上调用
FLUSHDB
而不带ASYNC
- 将最低要求的 PhpRedis 版本提升至 4.0.0
- 将 noeviction 健康检查状态提升为严重(critical)
- 排除 WooCommerce 的 wc_cache_* 组避免预取
- 在加载缓存元数据时添加重试与退避机制
- 减少剪除分析数据时的阻塞时间
- 移除过时的 Redis 命令
- 支持丢弃管道(pipelines)和事务(transactions)
- 降低 Connection::command() 的内存占用
- 支持使用
- 修复
- 修复未定义的数组键访问问题
- 修复在 Dragonfly 上使用 Lua 脚本时的问题
- 修复使用
ZRANGE
时的严格类型错误 - 避免在无法加载元数据时错误清空完整性缓存
- 保持数值键在 (de|in)crement 操作时的 TTL
- 修复禁用调试模式时日志级别被重置的问题
- 防止在 connectToSentinels() 连接哨兵时出现罕见警告
- 避免在 RedisMetrics 中访问未定义的键时报错
- 避免对 flushBlog() 进行无效调用
Object Cache Pro v1.22.0 更新日志
- 新增
- 添加了group_flush配置选项的完整设置
- 更改
- 将group_flush的默认值更改为scan
- 将所有error_log()调用替换为内部log()辅助函数
- 当启用调试模式时,记录所有消息
- 提升了分析API请求的性能
- 修复
- 修复了Diagnostics::redisVersion()中罕见的TypeError
- 修正了wp redis cli命令的scheme检测问题
- 修复了颠倒的多命令/管道模式
- 修复了OpenTelemetry追踪器集成的问题
- 在计算指标时避免复制连接
- 移除
- 移除了已废弃的全局变量$RedisCachePro
Object Cache Pro v1.21.2 更新日志
- 已添加
- 支持使用
OBJECTCACHE_STRICT
环境变量设置strict
模式 - 添加了使用 Relay 时的 Redis 集群支持
- 添加了“ErrorLogContextLogger”以方便调试
- 支持使用
- 已变更
- 设置“前缀”时不启用“严格”模式
- 默认启用“严格”模式
- 支持
WC_SESSION_CACHE_GROUP
常量 - 使用去相关抖动退避算法进行连接尝试
- 在自动删除 drop-in 之前检查
wp_is_file_mod_allowed('object_cache_dropin')
- 添加了
Relay*Connection::keysInMemory()
帮助程序 - 改进了使用集群连接时的延迟小部件内容
- 从插件本身记录时使用配置的记录器和日志级别
- 解决了 PHP 8.4 弃用通知
- 已修复
- 修复了无 Sentinel 副本可用时的连接错误
- 修复了运行管理生命周期时罕见的类型不匹配问题
- 避免
Configuration::safelyFrom()
中罕见的致命错误 - 修复了“objectcache_allow_dropin_mod”过滤器
使用
阅读Redis Object Cache Pro 配置详解及如何开启高性能模式这篇文章搭配使用。
破解思路
1. 许可证状态验证绕过
在 src/License.php
文件中:
isValid()
方法被修改为始终返回true
,无论实际许可证状态如何- 所有负面状态检查方法(如
isCanceled()
,isUnpaid()
,isInvalid()
,isDeauthorized()
)被修改为始终返回false
needsReverification()
方法被修改为始终返回false
,避免触发重新验证
2. 许可证令牌和数据伪造
在 src/Plugin/Licensing.php
文件中:
token()
方法被硬编码为返回固定的许可证令牌:B5E0B5F8DD8689E6ACA49DD6E6E1A930
license()
方法使用反射(Reflection)技术创建一个伪造的有效许可证对象,设置以下属性:- 状态设为
Valid
- 令牌设为硬编码值
- 最后检查时间设为当前时间
- 有效期设为当前时间
- 许可计划设为
business
(最高级别)
3. API 请求响应伪造
fetchLicense()
方法被修改为返回伪造的有效许可证响应request()
方法被修改为返回伪造的成功响应,包含许可证信息和版本信息pluginInfoRequest()
和pluginUpdateRequest()
方法也被修改为返回伪造的响应
4. 安全机制禁用
displayLicenseNotices()
方法被修改为直接返回,禁用所有许可证相关的警告通知killSwitch()
方法被修改为直接返回,禁用了无效许可证时应该触发的停用机制normalizeUrl()
方法被修改为返回一个固定的 URLisLooselyValidUrl()
方法被修改为始终返回true
,绕过 URL 验证
重要提示
- 插件需要 Redis 的支持,需要先在服务器中安装 Redis、PhpRedis v3.1.1或以上版本,PHP 版本 >= 7.2
- 不支持在线升级版本,可上传新版安装包升级安装。
许可证
define('WP_REDIS_CONFIG', [
'token' => 'Zhanzhangb9sjJlBxBpLJbJcIRoi9rfszjmOqecMzQ1RB3K8jYQAOMkrCFDR',
'host' => '127.0.0.1',//redis服务器IP
'port' => 6379,//redis端口
'database' => 0, // 为每个站点更改,不同站点应使用不同的数据库编号
'maxttl' => 3600 * 24 * 7, // 7 天缓存
'timeout' => 1.0,
'read_timeout' => 1.0,
'split_alloptions' => true,
'debug' => false,
]);
检测效果
网站:https://www.virscan.org/
© 版权声明
本站网络名称:
小怪兽
本站永久网址:
https://77il.cn
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ3031379629删除处理。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
请登录后查看评论内容