跳到主内容
版本: 1.x

HOST151:缓存共享重放

含义说明

商店前端的缓存正在将某一个人的 API 响应重放给所有人。

某个缓存层在不检查请求者身份的情况下返回已存储的 REST API 响应:应用发送了两个采用不同身份认证的探测请求,两次都收到了第一个探测请求的响应。在营业中的商店里,这意味着一名收银员可能会看到另一名收银员的数据,因此在缓存排除商店的 API 之前,连接将被阻止。这是主机层的问题 —— WordPress 本身始终会按用户分别响应。

你的数据

此设备上的数据可能存在风险 —— 请勿清除本地数据。如果问题持续存在,请导出诊断信息并联系 WCPOS 支持团队。

排查方法

  1. 将商店的 REST API 路径(/wp-json/ 和 /?rest_route=)从页面缓存中排除 —— 在 LiteSpeed 上禁用 REST 缓存或添加不缓存规则;在 WP Engine 上将 WooCommerce 排除项扩展到 /wp-json/wcpos;在 Sucuri 上将缓存级别设置为遵循 Cache-Control。
  2. 商店的 API 已经发送 Cache-Control: no-store 和 Vary: Authorization —— 是缓存层在忽略它们;请让主机商关注这些头。
  3. 更改缓存设置后,请在重新连接之前清除缓存。

详情

Code
HOST151 (CACHE_SHARED_REPLAY)
Severity
error
Introduced in
WCPOS 1.10.0