Heim  >  Artikel  >  Backend-Entwicklung  >  Warum lehnt mein Browser Set-Cookie-Header von Cross-Origin-Antworten ab?

Warum lehnt mein Browser Set-Cookie-Header von Cross-Origin-Antworten ab?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-21 09:08:10661Durchsuche

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

Browser lehnt Set-Cookie-Header von Cross-Origin-Antwort ab

Cross-Origin Resource Sharing (CORS) ist ein Mechanismus, der eingeschränkte Ressourcen ermöglicht auf einer Webseite, die von einer anderen Domäne außerhalb der Domäne angefordert werden soll, von der aus die erste Ressource bereitgestellt wurde. Es gibt jedoch bestimmte Einschränkungen hinsichtlich der gemeinsamen Nutzung zwischen den Ursprüngen, einschließlich der Einstellung von Cookies.

Wenn eine ursprungsübergreifende Antwort einen Set-Cookie-Header enthält, kann es sein, dass der Browser aus Sicherheitsgründen die Berücksichtigung des Headers verweigert . Dies liegt daran, dass das Setzen von Cookies durch Websites Dritter zu Cross-Site-Request-Forgery-Angriffen (CSRF) führen könnte.

Um dieses Problem zu beheben, stellen Sie sicher, dass die Eigenschaft „withCredentials“ in Ihrem Clientcode auf „true“ gesetzt ist . Diese Eigenschaft weist den Browser an, Anmeldeinformationen (z. B. Cookies) in die Cross-Origin-Anfrage einzubeziehen.

In JavaScript können Sie die withCredentials-Eigenschaft in der Axios-Anfragekonfiguration festlegen:

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

Indem Sie die Eigenschaft „withCredentials“ auf „true“ setzen, erlauben Sie dem Browser, Cookies an den Cross-Origin-Server zu senden, und lösen so das Problem, bei dem der Browser die Annahme verweigert Set-Cookie-Header.

Das obige ist der detaillierte Inhalt vonWarum lehnt mein Browser Set-Cookie-Header von Cross-Origin-Antworten ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn