Heim  >  Artikel  >  Backend-Entwicklung  >  So legen Sie den Lebenszyklus von Cookie-PHP fest

So legen Sie den Lebenszyklus von Cookie-PHP fest

PHPz
PHPzOriginal
2023-03-29 10:11:29570Durchsuche

Bei der Website-Entwicklung sind Cookies eine sehr häufig verwendete Form der Datenspeicherung. Ein Cookie ist eine Textdatei bestehend aus einem Namen, einem Wert und anderen optionalen Attributen, die auf dem Computer des Benutzers gespeichert werden kann. Eines der wichtigsten Attribute besteht darin, den Lebenszyklus (Ablauf) des Cookies anzugeben, d. h. wie lange das Cookie auf dem Client-Computer gespeichert wird. In PHP können Sie die Funktion setcookie() zum Setzen von Cookies verwenden, einschließlich der Festlegung des Namens, des Werts, der Ablaufzeit und anderer Attribute des Cookies. Im Folgenden wird in diesem Artikel ausführlich erläutert, wie der Cookie-Lebenszyklus in PHP festgelegt wird.

1. Die Funktion „setcookie()“ ist eine Funktion zum Setzen von Cookies in PHP

Unter diesen haben die Parameter folgende Bedeutung:

Name: der Name des Cookies, der gesetzt werden muss.

Wert: Der Wert des Cookies, der leer sein kann.

    expire: Cookie-Lebenszyklus, angegeben in Form eines Unix-Zeitstempels.
  • Pfad: Geben Sie den Pfad an, unter dem das Cookie gültig ist. Der Standardwert ist unter dem gesamten Domänennamen gültig.
  • Domäne: Geben Sie den Domänennamen an, unter dem das Cookie gültig ist. Der Standardwert ist der aktuelle Domänenname.
  • sicher: Ob dieses Cookie nur über das HTTPS-Protokoll übertragen werden soll, 0 oder 1, der Standardwert ist 0.
  • httponly: Gibt an, ob der Zugriff auf dieses Cookie nur über HTTP- oder HTTPS-Protokolle erfolgen soll, 0 oder 1, der Standardwert ist 0.
  • Dabei steht der Ablaufparameter im Mittelpunkt.
  • 2. Cookie-Lebenszyklus
Der Lebenszyklus eines Cookies kann als die Gültigkeitsdauer des Cookies auf dem Client-Computer verstanden werden. In PHP können wir den Expire-Parameter verwenden, um den Lebenszyklus des Cookies auf dem Client-Computer anzugeben. Der Wert des Expire-Parameters ist ein ganzzahliger Wert, der als Unix-Zeitstempel dargestellt wird. Der Zeitstempel ist die Anzahl der Sekunden relativ zu 00:00:00 GMT am 1. Januar 1970, sodass wir die Ablaufzeit durch Berechnung ermitteln können.

Schauen wir uns nun ein Beispiel an. Beispielsweise möchten wir ein Cookie mit dem Namen „mycookie“ setzen und es 60 Minuten nach dem aktuellen Zeitpunkt ablaufen lassen. Dann können Sie Folgendes tun:

$expire=time()+60*60; //设置生命周期为60分钟
setcookie("mycookie", "test", $expire);
In diesem Beispiel erhalten wir zuerst den Zeitstempel der aktuellen Zeit (implementiert mit der Funktion time()) und fügen dann 60 Minuten (also 3600 Sekunden) hinzu, um 60 Minuten später einen Zeitstempel zu erhalten. Schließlich übergeben wir diesen Zeitstempel an den dritten Parameter $expire der Funktion setcookie() und geben damit an, dass der Lebenszyklus von „mycookie“ 60 Minuten beträgt.

Wenn wir die Ablaufzeit nicht festlegen möchten, das heißt, das Cookie beim Schließen des Browsers automatisch löschen lassen möchten, können wir den Ablaufparameter wie unten gezeigt auf 0 setzen:

setcookie("mycookie", "test", 0);
Zusätzlich, wenn wir möchten Um ein Cookie sofort zu löschen, können wir seine Lebensdauer auf einen Zeitstempel in der Vergangenheit setzen, wie unten gezeigt:

setcookie("mycookie", "", time()-3600);
In diesem Beispiel setzen wir die Lebensdauer von „mycookie“ auf 60 Minuten vor der aktuellen Zeit, damit das Cookie wird sofort gelöscht.

3. Praktische Anwendung

In praktischen Anwendungen können wir den Cookie-Lebenszyklus entsprechend den spezifischen Anforderungen festlegen. Wenn wir uns beispielsweise den Anmeldestatus des Benutzers merken möchten, können wir den Benutzernamen und das Kennwort speichern, wenn sich der Benutzer bei einem Cookie anmeldet, und den Lebenszyklus auf eine Anzahl von Tagen, eine Anzahl von Stunden und eine Anzahl von Minuten festlegen , usw. Auf diese Weise muss sich der Benutzer nicht erneut anmelden, selbst wenn der Benutzer den Browser schließt oder den Computer neu startet, solange das Cookie nicht abgelaufen ist.

Schauen wir uns nun ein praktisches Beispiel an. Angenommen, wir haben eine Anmeldeseite, nachdem der Benutzer den Benutzernamen und das Passwort eingegeben hat. Wenn diese Option aktiviert ist, werden der Benutzername und das Passwort in Cookies gespeichert, sodass der Benutzer sich nicht erneut anmelden muss. Geben Sie diese bei der nächsten Anmeldung ein. Benutzername und Passwort. Der spezifische Implementierungscode lautet wie folgt:

<?php
if(isset($_POST[&#39;username&#39;]) && isset($_POST[&#39;password&#39;])){
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if(isset($_POST[&#39;remember&#39;])){
        //如果勾选“记住密码”,则设置cookie生命周期为7天
        setcookie(&#39;username&#39;, $username, time()+3600*24*7);
        setcookie(&#39;password&#39;, $password, time()+3600*24*7);
    }else{
        //如果未勾选“记住密码”,则不设置生命周期,即在浏览器关闭时自动删除cookie
        setcookie(&#39;username&#39;, $username);
        setcookie(&#39;password&#39;, $password);
    }
    //进行登录验证,此处省略......
}
?>

<form method="post" action="">
    <label>用户名:<input type="text" name="username"></label><br>
    <label>密码:<input type="password" name="password"></label><br>
    <label><input type="checkbox" name="remember">记住密码</label><br>
    <input type="submit" value="登录">
</form>
Wenn der Benutzer in diesem Beispiel die Option „Passwort speichern“ aktiviert, werden der Benutzername und das Passwort in Cookies gespeichert und der Lebenszyklus wird auf 7 Tage festgelegt. Wenn der Benutzer die Option „Passwort speichern“ nicht aktiviert, wird kein Lebenszyklus gesetzt, d. h. das Cookie wird beim Schließen des Browsers automatisch gelöscht. Auf diese Weise kann der Benutzer beim nächsten Öffnen der Anmeldeseite den Benutzernamen und das Passwort sehen, die bei der letzten Anmeldung gespeichert wurden (sofern das Cookie noch nicht abgelaufen ist), was dem Benutzer eine schnelle Anmeldung erleichtert.

4. Zusammenfassung

In PHP kann der Lebenszyklus von Cookies einfach über die Funktion setcookie() eingestellt werden. Wir können den Cookie-Lebenszyklus entsprechend den spezifischen Anforderungen festlegen, um verschiedene Anforderungen an die Datenspeicherung zu erfüllen, z. B. das Merken des Anmeldestatus des Benutzers, das Speichern von Benutzereinstellungen usw. Gleichzeitig müssen wir auch darauf achten, dass beim Festlegen des Cookie-Lebenszyklus dieser anhand des Zeitstempels berechnet werden muss, um sicherzustellen, dass der richtige Lebenszyklus eingestellt ist.

Das obige ist der detaillierte Inhalt vonSo legen Sie den Lebenszyklus von Cookie-PHP fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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