Anmelde Script

So, ich befasse mich wieder einmal mit Sicherheit. Ich habe lange darüber nachgedacht wie man am besten ein LogIn Script programmiert/gestaltet. Nun bin ich auf folgende Idee gekomme und möchte gerne eure Meinung dazu wissen:

Wenn man sich einloggt wird eine Abfrage der MySQL Datenbank ausgeführt.
Sollten die angegebenen Daten richtig sein, wird eine SESSION erstellt:

<? $anmeldung = mysql_query("SELECT * FROM user WHERE user = '" . $_POST['user'] . "' AND pw = '" . md5($_POST['pw']) . "'"); if(mysql_num_rows($anmeldung)==1){ $user = mysql_fetch_array($anmeldung); $_SESSION["testsession"] = "" . $user['pw'] . "" . $user['id'] . ""; echo "Sie wurden erfolgreich angemeldet!"; }else{ echo "Die angegebenen Daten stimmen nicht mit deren in der Datenbank überein"; } ?>

Findet ihr das nicht Sicher, oder geht es halbwiegs?

und wo wird das PW überprüft???
Den MySQL-String musst du auch umbedingt gegen SQL-Insertion schützen!!!

  1. Warum speicherst du das Passwort in der Session?
  2. Du solltest die sessionid in die Datenbank zum Vergleichen speichern

Am bestene ine Zufallsfunktion erstellen rand() und das in die Datenbank schreiben und damit vergleichen.

erstens enthält die Sessions, die ersten 32 Ziffern/Buchstaben das Passwort verschlüsselt, das heißt er muss auch die DB nicht so “arrggg” belasten, und zweitens kommt nach den 32 Ziffern/Buchstaben die id :wink: zum Beispiel 1 oder 84 oder 238398935 :wink:

Ich hätte einfach die php-interne Session benutzt^^