Alle Cookies beim Abmelden des Benutzers in PHP deaktivieren
Bei der Webentwicklung kann es erforderlich sein, alle mit einem Benutzer verknüpften Cookies beim Abmelden zu löschen . Beispielsweise haben Sie möglicherweise setcookie("user", false); Es gab in der Vergangenheit zwar die Möglichkeit, Cookies zu löschen, doch dieser Ansatz greift oft zu kurz. In diesem Artikel wird eine zuverlässige Lösung zum Löschen aller Cookies für eine bestimmte Domäne mithilfe von PHP untersucht.
Um dies zu erreichen, stellt PHP die Funktion unsetcookie() bereit. Im Gegensatz zu setcookie("user", false);, das nur den Wert des angegebenen Cookies auf false setzt, löscht unsetcookie() das angegebene Cookie vollständig.
Um alle Cookies für eine Domain zu deaktivieren, können Sie die verwenden Folgender Code:
<code class="php">if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } }</code>
Durch die Iteration durch die Zeichenfolge $_SERVER['HTTP_COOKIE'] und den Aufruf von unsetcookie() für jeden Cookie-Namen entfernt dieser Code effektiv alle Cookies aus dem Browser. Das Argument time()-1000 stellt sicher, dass die Cookies sofort ablaufen, und die führenden und abschließenden Schrägstriche im Pfadparameter garantieren das Löschen aller Vorkommen des Cookies in der gesamten Domäne.
Das obige ist der detaillierte Inhalt vonWie lösche ich alle Cookies beim Abmelden des Benutzers in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!