Ich habe eine Website, wo die Login-Informationen optional in einem Cookie gespeichert werden (merken Sie sich das Kontrollkästchen bei der Anmeldung) und wenn sich der Benutzer abmeldet, wird der Wert des Authentifizierungscookies nicht so geändert, dass der Cookie abläuft.Warum ändert sich mein Cookie-Wert in PHP 5 nicht?
Das System funktioniert sowohl auf dem Dev- als auch auf dem Staging-Server ordnungsgemäß, funktioniert jedoch aus irgendeinem Grund nicht auf unserem Produktionsserver. Wir betreiben PHP 5 und Apache auf allen Servern.
Danke.
Funktion Cookie (Kleine Änderungen für die Sicherheit) zu setzen:
function setCookieInfo($data,$expiry=0)
{
if($data === false)
{
//remove cookie!
$cookie = false;
$expiry = 100; //should be in the past enough!
}
else
{
$serial = base64_encode(serialize($data));
$hash = md5($XXX);
$cookie = $hash."---".$serial;
}
if($_SERVER['SERVER_NAME']=='localhost')
{
$domain = null;
}
else
{
$domain = '.'.$_SERVER['SERVER_NAME'];
}
return setcookie('Auth', $cookie, $expiry, $this->controller->base, $domain);
}
Können Sie weitere Details angeben, z. B .: Sind Server mit SSL? Ist der Pfad des Cookies richtig eingestellt? Können wir den Code sehen, der die eigentliche Abmeldung durchführt? –
hat den obigen Code hinzugefügt. keiner verwendet SSL. – JustJon