Die Funktion Session_set_cookie_params () wird verwendet, um Parameter von PHP -Sitzungs -Cookies, einschließlich der gültigen Zeit der Sitzungs Cookies, des Pfades, der Domäne, ob sie eine sichere HTTPS -Verbindung usw. verwenden, durch diese Funktion sicherstellen können, dass Entwickler die Sicherheit und Stabilität der Sitzung vermeiden können und potenzielle Sicherheitsrisiken vermeiden können.
session_set_cookie_params([
'lifetime' => 3600, // cookie Gültigkeitsdauer(Einheit:Zweite)
'path' => '/', // cookie Der Weg
'domain' => 'm66.net', // Stellen Sie den Domain -Namen auf m66.net
'secure' => true, // Ob nur vorbei HTTPS Übertragung cookie
'httponly' => true, // Ist es verboten? JavaScript Zugang cookie
'samesite' => 'Strict' // aufstellen SameSite Strategie
]);
Lebensdauer
Der Lebensdauerparameter wird verwendet, um die Gültigkeitsdauer des Sitzungskeks in Sekunden zu setzen. Standardmäßig ist der Lebenszyklus eines PHP -Sitzungs -Cookie, wenn die Browser -Sitzung endet. Wenn Sie die Sitzung nach Abschluss des Browsers noch gültig machen müssen, können Sie sie auf eine längere Gültigkeitszeit einstellen. Zum Beispiel bedeutet 3600 , dass der Keks 1 Stunde dauert.
Weg
Der Pfadparameter steuert den gültigen Pfad des Session Cookie. Wenn dieses Cookie auf Root -Verzeichnis eingestellt ist, wird dieses Cookie von allen Unterverzeichnissen verwendet. Wenn Sie nur unter einem bestimmten Pfad auf das Cookie zugreifen müssen, können Sie ihn auf diesen Pfad setzen.
Domain
Der Domänenparameter legt den Umfang des Cookie fest, dh, auf welchen Domänennamen auf diesen Cookie zugreifen kann. Um die Unterstützung der Cross-Domain-Sitzung zu verbessern, können Sie dieses Element auf m66.net festlegen, damit dieses Session-Cookie sowohl im Domainnamen als auch im Subdomains verwendet werden kann. Beachten Sie, dass der Domänenname mit dem aktuell angeforderten Domain -Namen übereinstimmen muss, andernfalls ist das Cookie nicht verfügbar.
Sicher
Der sichere Parameter bestimmt, ob das Cookie nur über https sichere Verbindungen übertragen werden kann. Wenn der Browser auf True gesetzt ist, sendet er diesen Cookie nur unter HTTPS -Verbindung. Dies ist eine wichtige Maßnahme zur Verbesserung der Konversationssicherheit, insbesondere wenn es um sensible Daten geht.
httponly
Der Parameter httponly steuert, ob das Client JavaScript zugreifen darf. Wenn auf True gesetzt, kann auf das Cookie nur über das HTTP -Protokoll zugegriffen werden und kann nicht von JavaScript zugegriffen werden. Dies hilft, Cross-Site-Skriptangriffe (XSS) zu verhindern.
Samesit
Der gleiche Site- Parameter steuert dieselbe Site Cookie-Richtlinie, mit der CSRF-Angriffe (Cross-Site Request Forgery) verhindern sollen. Gemeinsame Strategien sind:
'Strict' : Erlauben Sie nur, dass Cookies auf der aktuellen Website gesendet werden.
'Lax' : Ermöglicht die Senden von Cookies, wenn Cross-Site-Anfragen für einige Szenarien geeignet sind.
'None' : Deaktivieren Sie die Samesit -Richtlinie vollständig, Sie müssen jedoch true sicher einstellen.
Nehmen wir an, wir haben eine E-Commerce-Website, auf der Benutzer lange Zeit auf der Einkaufswagenseite auf der Einkaufswagenseite führen können, während andere Seiten (z. B. Anmeldeseiten) keine so lange Sitzungsdauer benötigen. Wir können verschiedene Lebenszyklen und Richtlinien über Session_set_cookie_params () festlegen, um den Anforderungen verschiedener Seiten zu erfüllen.
// aufstellen登录页面的会话 cookie
session_set_cookie_params([
'lifetime' => 1800, // 30 Minute
'path' => '/',
'domain' => 'm66.net',
'secure' => true,
'httponly' => true,
'samesite' => 'Strict'
]);
// Starten Sie eine Sitzung
session_start();
// aufstellen购物车页面的会话 cookie
session_set_cookie_params([
'lifetime' => 86400, // 24 Stunde
'path' => '/cart',
'domain' => 'm66.net',
'secure' => true,
'httponly' => true,
'samesite' => 'Lax'
]);
// Starten Sie eine Sitzung
session_start();
In diesem Beispiel beträgt die Sitzungsgültigkeitsdauer der Anmeldung 30 Minuten, während die Sitzungsgültigkeitsdauer der Einkaufswagen 24 Stunden beträgt. Stellen Sie die Domäne auf m66.net fest, um sicherzustellen, dass beide Seiten dieselben Sitzungscookies teilen können. Einstellungen von sicheren und httponly -Parametern verbessern die Sitzungssicherheit.
Durch die Verwendung von Session_set_cookie_params () können Entwicklern die Erreichung eines feiner-körnigen Sitzungsmanagements helfen. Hier sind einige gemeinsame Szenarien für die Verwendung dieser Funktion:
Verbesserte Sicherheit <br> Durch die Verwendung von Secure- und HTTPonly -Parametern können Sitzungs Cookies durch böswilligen JavaScript -Code gestohlen werden und die Sicherheit verbessern, insbesondere bei der Verarbeitung sensibler Informationen.
Cross-Site-Sitzungsmanagement <br> Durch das Einstellen von Domänenparametern können Sitzungs -Cookies über mehrere Subdomains teilnehmen, was für große Websites oder Anwendungen, die mehrere Subdomänen überqueren müssen, sehr nützlich ist.
Kontrollsitzungslebenszyklus <br> Durch die Festlegung von Lebenszeitparametern können Entwickler die Dauer der Sitzung entsprechend den Geschäftsbedürfnissen steuern und die Sitzung nicht auf unbestimmte Zeit vorhanden.
Verhindern Sie CSRF -Angriffe <br> Durch das Einstellen des Parameters zum Samesit -Parameter können Anfragen von Anforderungen an Anforderungen von Querleistungen verhindern, wodurch die Sicherheit der Benutzerdaten gewährleistet ist.
Session_set_cookie_params () ist eine sehr leistungsstarke und flexible Funktion in PHP, die den Entwicklern helfen kann, Sitzungsstrategien für Cookies -Managements genau zu steuern. Durch die rationale Konfiguration der verschiedenen Parameter können Entwickler nicht nur die Sicherheit ihrer Anwendungen verbessern, sondern auch die Strategien für das Gesprächsmanagement entsprechend unterschiedlichen Anforderungen optimieren. Das Verständnis und flexible Anwendung dieser Funktion kann Webanwendungen robuster und sicherer machen.