Wie lege ich während einer Weiterleitung Cookies oder Header für eine andere Domain fest?

Mary-Kate Olsen
Freigeben: 2024-11-01 03:19:28
Original
295 Leute haben es durchsucht

How to Set Cookies or Headers for a Different Domain During a Redirect?

Wie leite ich von einer Domäne zu einer anderen um und setze Cookies oder Header für die andere Domäne?

HTTP-Weiterleitungen erlauben das Setzen benutzerdefinierter Header oder Cookies für das Ziel nicht Domain. Darüber hinaus verhindern Browser das Setzen von Cookies für eine andere Domain als die, die mit dem Set-Cookie-Header antwortet.

Lösung 1: Mit Abfrageparameter umleiten und dann Cookie setzen

  1. Umleiten von Domäne A an Domäne B mit einem als Abfrageparameter übergebenen Zugriffstoken.
  2. Domäne B empfängt die Anfrage und setzt mithilfe des Tokens ihr eigenes Cookie.

Lösung 2: Cross-Origin Kommunikation mit Window.postMessage()

  1. Fügen Sie einen versteckten Iframe zu Domäne A hinzu, der auf Domäne B zeigt.
  2. Senden Sie das Zugriffstoken an Domäne B mit Window.postMessage().
  3. Domäne B speichert das Token in localStorage oder setzt ein Cookie mit JS.
  4. Nachrichten an Domäne A, dass das Token gespeichert wurde, und Weiterleitung des Benutzers an Domäne B.

Lösung 3: Serverseitiger Token-Austausch

  1. Verwenden Sie ein Tag in Domäne A, um auf Domäne B mit einem Zugriffstoken als Abfrageparameter zu verweisen.
  2. Domäne B antwortet beim Empfang der Anfrage mit Set-Cookie-Headern.
  3. Verwenden Sie fetch oder XMLHttpRequest (mit Anmeldeinformationen). und CORS aktiviert), um das Token direkt an Domäne B zu senden.
  4. Domäne B setzt das Cookie beim Empfang des Zugriffstokens.

Wichtige Hinweise:

  • Alle Cookies zulassen muss in den Browsereinstellungen aktiviert sein, damit die Lösungen 2 und 3 funktionieren.
  • Verwenden Sie SameSite=None; Sichere Flags in Cookies für Lösung 3.
  • Die Abfragezeichenfolge in Lösung 1 legt das Zugriffstoken offen und birgt Sicherheitsrisiken.
  • Lösung 3 erfordert die Aktivierung von CORS auf der Zieldomäne und eine explizite Ursprungsangabe auf der serverseitig.

Das obige ist der detaillierte Inhalt vonWie lege ich während einer Weiterleitung Cookies oder Header für eine andere Domain fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!