Hi,
also ich bastele an einem Login/Registrierungsskript.
Nun geht es darum, den Besucher zu erkennen, wenn er die Seite wieder besucht:
Ich habe mich in die Thematik mit Session und Cookie eingelesen.
Vielle icht habe ich etwas übersehen aber ich entschied mich dafür, einen User anhand der Sessions wieder zu erkennen.
Theoretisch ist es so:
Wenn der User sich mit Logindaten erfolgreich eingeloggt hat, setze ich folgende Sessionvariable:
$_SESSION['email_adresse'] = 'XY';
$_SESSION['fingerprint'] = md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']);
und
timeout = 60*5; // 5 Minuten bis die Sitzung abgelaufen ist
Die Überprüfung läuft dann in der Klasse CheckUser so ab:
(Ich werde später die Überprüfung anhand der gespeicherten Daten in der Tabelle Session in der DB implementieren.)
Ich bin mir aber noch nicht sicher, ob allein mit $fingerprint und $timeout so eine Authentifikation sicher gemacht wird.
Gruß
also ich bastele an einem Login/Registrierungsskript.
Nun geht es darum, den Besucher zu erkennen, wenn er die Seite wieder besucht:
Ich habe mich in die Thematik mit Session und Cookie eingelesen.
Vielle icht habe ich etwas übersehen aber ich entschied mich dafür, einen User anhand der Sessions wieder zu erkennen.
Theoretisch ist es so:
Wenn der User sich mit Logindaten erfolgreich eingeloggt hat, setze ich folgende Sessionvariable:
$_SESSION['email_adresse'] = 'XY';
$_SESSION['fingerprint'] = md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']);
und
timeout = 60*5; // 5 Minuten bis die Sitzung abgelaufen ist
Die Überprüfung läuft dann in der Klasse CheckUser so ab:
PHP-Code:
function checkUser($last_active,$fingerprint){
if (($last_active < (time()-$this->timeout)) || ($fingerprint != $this->fingerprint)){
//Sitzung abgelaufen oder die IP hat sich geändert
$this->destroySession();
return 'default';
}else{//kann noch eingeloggt bleiben
return 'loggedin';
}
}// End function
(Ich werde später die Überprüfung anhand der gespeicherten Daten in der Tabelle Session in der DB implementieren.)
Ich bin mir aber noch nicht sicher, ob allein mit $fingerprint und $timeout so eine Authentifikation sicher gemacht wird.
Gruß
Kommentar