Heim > Artikel > Backend-Entwicklung > Warum lehnt mein Browser Set-Cookie-Header von Cross-Origin-Antworten ab?
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!