Meinungen zu Login-Script

megapreisbrecher

Grünschnabel
Hallo,

ich habe ein Login geschrieben zu dem mich eure Meinung interessieren würde.

Ich verweise im Login-Formular auf die selbe Datei, nur, dass vor der Ausgabe die Prüfung stattfindet.

Es wird vorher eine Variable in der Session auf 1 gesetzt:
$_SESSION["login"] = '1';

Wenn sich jemand einloggen will, wird die Seite neu geladen und eine Verbindung zur Datenbank hergestellt. Loginname und Passwort werden mittels regulärer Ausdrücke von allen Zeichen außer a-z, 0-9 sowie _ und - bereiningt. Das mache ich, weil nur diese Zeichen im Username und Passwort vorkommen sollen und kein Code eingegeben werden kann.

Stimmen die Daten, wird $_SESSION["login"] = '2'; gesetzt und via header:location eine Weiterleitung gemacht.

Ist diese Variante sicher oder könnte jemand die Session irgndwie manipulieren und auf 2 setzen? Wäre etwas anderes besser? Was empfehlt ihr?
 
Zuletzt bearbeitet:
Soweit ich weiß, kann man Session nicht beeinflussen. Sie werden ja im php-Script gestzt und serverseitig gespeichert. Vom Passwort kann man ein Hash (siehe [phpf]md5[/phpf] und [phpf]sha1[/phpf]) erstellen und diesen in der DB speichern. Dann beim Login die Hashwerte miteinander vergleichen. Ansonsten würde mir jetzt keine gravierende Lücke in deinem Script einfallen, wobei das zu beurteilen ohne Code natürlich schwer ist.
 
Es ging mir hauptsächlich um die Session, diese sollte nicht manipulierbar sein. Auf allen aufrufbaren Seiten include ich eine Überprüfung der Session nach dem oben genannten Wert. Ist dieser nicht vorhanden ist nichts zu sehen.

@ mAu:
Ja das Passwort wird mittels md5 codiert und abgefragt.

@ suye:
Bin Neuling in PHP, daher hab ich bestimmt noch die ien oder andere Frage, ob etwas nicht anders besser geht. ;)
 
Ja diese Methode kann man als ziemlich sicher bezeichnen, es soll wohl Session hijacking geben aber da kenn ich mich nicht aus.
Man kann es zwar so machen und es ist auch nicht falsch aber wo liegt der Sinn vor dem Login eine Session zu setzen ?

mfg
 
Zuletzt bearbeitet:
Es reicht im Grunde vollkommen nach dem erfolgreichen Login einen Wert (z.B. die UserID) in die Session zu schreiben. Schon vor dem Login einen Wert zu setzen ist meiner Meinung nach absolut nicht notwendig.
 
Zurück