Maison  >  Article  >  développement back-end  >  Pourquoi mon navigateur rejette-t-il les en-têtes Set-Cookie des réponses d'origine croisée ?

Pourquoi mon navigateur rejette-t-il les en-têtes Set-Cookie des réponses d'origine croisée ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-21 09:08:10673parcourir

Why Does My Browser Reject Set-Cookie Headers from Cross-Origin Responses?

Le navigateur rejette l'en-tête Set-Cookie de la réponse d'origine croisée

Le partage de ressources d'origine croisée (CORS) est un mécanisme qui autorise des ressources restreintes sur une page Web à demander à un autre domaine en dehors du domaine à partir duquel la première ressource a été servie. Cependant, il existe certaines limites à ce qui peut être partagé entre origines, y compris la configuration des cookies.

Lorsqu'une réponse d'origine croisée inclut un en-tête Set-Cookie, le navigateur peut refuser d'honorer l'en-tête pour des raisons de sécurité. . En effet, autoriser la définition de cookies par des sites Web tiers pourrait entraîner des attaques de falsification de requêtes intersites (CSRF).

Pour résoudre ce problème, assurez-vous que la propriété withCredentials est définie sur true dans votre code client. . Cette propriété demande au navigateur d'inclure des informations d'identification (telles que des cookies) dans la requête d'origine croisée.

En JavaScript, vous pouvez définir la propriété withCredentials dans la configuration de la requête Axios :

const axiosAuth = axios.create({
  withCredentials: true, // Correct
});

En définissant la propriété withCredentials sur true, vous autorisez le navigateur à envoyer des cookies au serveur d'origine croisée, résolvant ainsi le problème où le navigateur refuse d'honorer le Set-Cookie. en-tête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn