HOST151 : réponses du cache partagées entre utilisateurs
Ce que cela signifie
Le cache de votre hébergeur peut transmettre les données de boutique d’une personne à une autre.
Rien n’est perdu sur cet appareil. Demandez à votre hébergeur de ne plus mettre en cache l’API de la boutique (les adresses /wp-json/ comme ?rest_route=). Si WCPOS ne s’est pas connecté, reconnectez-vous ensuite.
Une couche de cache renvoie des réponses de l’API REST enregistrées sans vérifier qui les demande : l’application a envoyé deux requêtes de test avec des authentifications différentes et a reçu la réponse de la première dans les deux cas. Sur une boutique en production, cela signifie qu’un caissier pourrait voir les données d’un autre. Le problème se situe au niveau de l’hébergement — WordPress répond toujours en fonction de l’utilisateur.
Dans ce cas, l’application réessaie avec une clé de cache unique pour chaque requête. Si cela prouve que la clé passe bien le cache, WCPOS se connecte et continue d’envoyer cette clé — cette entrée avertit alors que le cache doit encore être corrigé. Si la sécurité de la connexion ne peut pas être établie, WCPOS ne se connecte pas tant que le cache n’est pas corrigé.
Vos données
Rien n’est perdu sur cet appareil. Si WCPOS n’a pas pu établir que la connexion était sûre, il ne se connecte pas pour éviter de montrer les données d’une personne à une autre ; tout ce qui se trouve déjà sur cet appareil y reste et sera envoyé une fois la connexion établie.
Dépannage
Pour votre hébergeur ou l’administrateur du site — le cache doit être corrigé chez l’hébergeur, même si WCPOS a pu se connecter en le contournant :
- Excluez les chemins de l’API REST de la boutique (/wp-json/ et /?rest_route=) de la mise en cache des pages — sur LiteSpeed, désactivez le cache REST ou ajoutez une règle no-cache ; sur WP Engine, étendez l’exclusion WooCommerce à /wp-json/wcpos et à la forme ?rest_route= ; sur Sucuri, réglez le niveau de cache pour qu’il respecte Cache-Control.
- L’API de la boutique envoie déjà Cache-Control: no-store et Vary: Authorization — la couche de cache les ignore ; signalez ces en-têtes à l’hébergeur.
- Après avoir modifié les réglages du cache, purgez-le. Si WCPOS ne s’est pas connecté, reconnectez-vous.