HOST151: Reutilização de respostas entre usuários pelo cache
O que isso significa
O cache da hospedagem pode entregar os dados da loja de uma pessoa a outra.
Nada neste dispositivo é perdido. Peça ao provedor de hospedagem que pare de armazenar a API da loja em cache (tanto os endereços /wp-json/ quanto os ?rest_route=). Se o WCPOS não se conectou, reconecte depois.
Uma camada de cache está entregando respostas armazenadas da API REST sem verificar quem as solicita: o aplicativo enviou duas solicitações de teste com autenticações diferentes e recebeu a resposta da primeira nas duas vezes. Em uma loja em operação, isso significa que um caixa poderia ver os dados de outro. Esse é um problema na camada de hospedagem — o próprio WordPress sempre responde de acordo com o usuário.
Quando isso acontece, o aplicativo tenta novamente com uma chave de cache exclusiva em cada solicitação. Se isso comprovar que a chave contorna o cache, o WCPOS se conecta e continua enviando a chave — nesse caso, este registro é um aviso de que o cache ainda precisa ser corrigido. Se não for possível comprovar que a conexão é segura, o WCPOS não se conecta até que o cache seja corrigido.
Seus dados
Nada neste dispositivo é perdido. Se o WCPOS não conseguiu comprovar que a conexão é segura, ele não se conecta para evitar o risco de mostrar os dados de uma pessoa a outra; tudo que já está neste dispositivo permanece nele e é enviado quando a conexão é estabelecida.
Como resolver
Para o provedor de hospedagem ou administrador do site — o cache precisa ser corrigido na hospedagem, mesmo que o WCPOS tenha conseguido se conectar contornando o problema:
- Exclua os caminhos da API REST da loja (/wp-json/ e /?rest_route=) do cache de páginas — no LiteSpeed, desative o cache REST ou adicione uma regra para não armazenar em cache; no WP Engine, estenda a exclusão do WooCommerce a /wp-json/wcpos e ao formato ?rest_route=; no Sucuri, configure o nível de cache para respeitar Cache-Control.
- A API da loja já envia Cache-Control: no-store e Vary: Authorization — a camada de cache está ignorando esses cabeçalhos; mostre-os ao provedor de hospedagem.
- Depois de alterar as configurações de cache, limpe o cache. Se o WCPOS não se conectou, reconecte.