2010-07-04 14 views

Antwort

2

Es gibt keine Möglichkeit zu erhalten, wenn ein Cookie abläuft oder einen der anderen Parameter, die Sie für PHP verwenden möchten. Dies liegt daran, dass PHP nichts dergleichen speichert. Wenn Sie ein Cookie setzen, sagen Sie im Grunde, dass Sie nur einmal einen Header an den Browser ausgeben, dann ist es die Aufgabe des Clients (eines Browsers), die Cookie-Daten zurückzusenden auf jeder HTTP-Anfrage. PHP hat daher keinen Grund, die Daten zu behalten, also nicht.

Sie können natürlich speichern, wenn der Cookie in einem anderen Cookie oder einer Datei irgendwo abläuft, wenn Sie wissen, wo in Ihrem Code die Cookies gesetzt werden.

+0

Speichern ist keine Garantie. Der Benutzer kann es selbst ändern. –

+0

Wenn der Benutzer/Client sich nicht benimmt, sollte die App auch nicht. – Sam152

1

Nein (definitiv nicht mit PHP und ich glaube nicht, dass Sie es auch mit Javascript tun können). Sie können diese Informationen jedoch in den Cookie-Daten speichern.

Manchmal möchten Sie, dass ein Cookie für einige Zeit gültig ist und diese Gültigkeit auch auf dem Server erzwingen. Zum Beispiel verwendet der Client ein Cookie zur Authentifizierung selbst und dieser Cookie hat eine bestimmte Gültigkeit (z. B. sollte der Benutzer für x Tage angemeldet sein). In diesem Fall sollten Sie diese Uhrzeit auch in der Datenbank speichern und überprüfen, wenn das Cookie-Authentifizierungstoken angegeben wird. Wenn keine Manipulation vorliegt, sollte der Cookie zu dem Zeitpunkt ablaufen, an dem Sie in der Datenbank (oder davor) registriert wurden, andernfalls werden die Anmeldeinformationen trotzdem abgelehnt.

1

Weder können Sie es Client-Seite tun. Javascripts document.cookie stellt die Ablaufzeit nicht zur Verfügung. Ein allgemeines Idiom ist daher, Begleit-Cookies zu setzen, die das letzte Mal enthalten, dass Cookies aktualisiert wurden. Oder Sie möchten einen Cookie auch auf zusammengesetzte Werte setzen, z. setcookie("name", "value..|time()") und später greifen Sie darauf unter Verwendung strtok($_COOKIE["name"], "|").