wo speicherst du das Geheimnis, dass du in den Cookie reinschreibst?
What? Klingt ja fast so als ob da deine Kreditkartennummer drin steht :D.
Es muss etwas sein, dass den User eindeutig identifiziert. Sagen wir mal seine User id. Was sagst du, dann könnte sich jeder als dieser USer tarnen, wenn er das Cookie fälscht? Richtig, also muss noch irgendetwas einmaliges in das Cookie. Etwas das man nicht erraten könnte und das sich am besten noch ständig ändert. Wie wärs mit der Angabe des "last Login". Die Info speichert man in der Userdatenbank.
Plus dem Problem, dass man für die Daten dann wieder ein komplett eigenes Sessionhandling-Konzept bauen muss; ich vermute zumindest, dass der Cookie nicht ewig gültig sein soll.
Wieso nicht ewig? Mir drängt sich die Frage von Dedlfix auf "wie lange darf der User Telefonieren?". Wenn er seinen Computer einen Monat durchlaufen lässt und dann erst das Formular abschicken möchte...soll er doch.
Ein eigenes Sessionhandling? Das Problem verstehe ich nicht.
ich möchte hier keinen kompletten Code entwerfen nur im groben:
if( $_POST ) //--- Post daten prüfen
if( send ) //--- Prüfen ob Formular gesendet wurde
if( formular.valide() ) //--- PRüfen ob Formulardaten valide sind
if( !$_SESSION['login'] == true )
{
if( !$_COOKIE['userid'] )
{
//--- böser Hacker!
return false
}
$objUser = mysql_connect( "get user mit $_COOKIE['userid']" );
if(!$objUser->getLastLogin() == $_COOKIE['hash'] )
{
//--- böser Hacker!
return false;
}
login( $objUser );
save();
} else {
save();
}
Sieht doch recht simple aus... verdammt wieso hab ich meinen Login nicht so simpel aufgebaut. Das scheiß ding läuft mit 4 Klassen die alle das gleiche machen hmpf...
Gruß
mit viel Code etwas kompensiernder
T-Rex