Lösung für das domänenübergreifende PHP-Sitzungsproblem
In der Entwicklung, bei der Front-End und Back-End getrennt sind, sind domänenübergreifende Anfragen zur Norm geworden. Wenn es um domänenübergreifende Probleme geht, nutzen wir in der Regel Sitzungen und verwalten diese. Aufgrund von Richtlinieneinschränkungen für den Browserursprung können Sitzungen jedoch standardmäßig nicht über Domänen hinweg gemeinsam genutzt werden. Um dieses Problem zu lösen, müssen wir einige Techniken und Methoden verwenden, um eine domänenübergreifende gemeinsame Nutzung von Sitzungen zu erreichen.
1. Verwenden Sie Cookies, um Sitzungen domänenübergreifend zu teilen.
Die häufigste Lösung ist die Verwendung von Cookies, um Sitzungen domänenübergreifend zu teilen. Da Cookies nicht durch die Same-Origin-Richtlinie eingeschränkt sind, können Sitzungsinformationen zwischen verschiedenen Domänennamen übertragen und gemeinsam genutzt werden.
Die spezifischen Schritte lauten wie folgt:
session_start(); $_SESSION['user'] = 'example';
setcookie(session_name(), session_id(), time() + 60*60*24*30, '/', 'www.example.com', false, true);
Unter ihnen www.example.com</ code> ist der Domänenname des aktuellen Servers und muss entsprechend der tatsächlichen Situation geändert werden. <code>www.example.com
是当前服务端的域名,需要根据实际情况进行修改。
fetch('http://www.example.com/api', { credentials: 'include', })
其中,credentials: 'include'
session_id($_COOKIE[session_name()]); session_start(); if(isset($_SESSION['user'])){ // session 跨域共享成功 }else{ // session 跨域共享失败 }
Anmeldeinformationen: 'include'
zur Information verwendet Der Browser sendet Anmeldeinformationen einschließlich Cookie an den Server. $token = bin2hex(random_bytes(16)); // 将 token 存储到数据库中 // 返回 token 给客户端
Es ist zu beachten, dass der Token zur Gewährleistung der Sicherheit eine Gültigkeitsdauer haben und innerhalb eines bestimmten Zeitraums aktualisiert werden muss. Serverseitig müssen abgelaufene Token regelmäßig gelöscht werden.
🎜Zusammenfassung: 🎜🎜Die oben genannten sind zwei gängige Methoden zur Lösung des domänenübergreifenden Problems der PHP-Sitzung. Sie können die geeignete Lösung entsprechend Ihrer tatsächlichen Situation auswählen. Unabhängig davon, ob Cookies oder Token verwendet werden, muss auf der Serverseite eine entsprechende Verarbeitung durchgeführt werden, um eine domänenübergreifende gemeinsame Nutzung von Sitzungen zu erreichen. Gleichzeitig müssen wir zur Gewährleistung der Sicherheit auch einige Maßnahmen ergreifen, um die Sicherheit der Sitzungsdaten zu schützen. 🎜Das obige ist der detaillierte Inhalt vonLösung für das domänenübergreifende Problem der PHP-Sitzung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!