ich programmiere gerade einen Login Bereich in PHP und MySQL. Meinen Login habe ich bisher geschützt, indem ich Loginversuche in einer SQL Tabelle protokolliere und nach drei fehlgeschlagenen Loginversuchen den benutzer für eine stunde sperre.
Nun wollte ich fragen, ob die session ausreichend geschützt ist, wenn ich in der session den benutzername hinterlege und beim erfolgreichen einloggen in der MySQL Datenbank ein Timestamp hinterlegt wird. Jedes mal, wenn der Beuscher eine geschütze Seite aufruft, wird geprüft, ob er schon über eine stunde eingeloggt ist und wenn ja, wird er ausgeloggt.
Wäre über euren Rat sehr dankbar.
Gruß
andostini
Edit: Ich weiß das geht über Cookies viel einfacher, aber ich dachte dass das vielleicht sicherer ist.
Die ursprüngliche Frage zielte darauf, einen Timestamp zu hinterlegen um zu überprüfen ob der Benuzter schon zu lange inaktiv war – den Wert braucht man also nicht in irgendeinem Admin-Panel, den braucht man in erster Linie in der Session selber, um den Benutzer dann bei Bedarf auffordern zu können, sich erneut zu authentifizieren.
(Die komplette Session kann natürlich in der Datenbank liegen, wenn man nicht den Default der Ablage der Sessiondaten in Dateien verwenden will. Dann bräuchte der Timestamp aber auch nicht extra in die Datenbank geschrieben werden – sondern der Session-Mechanismus würde sich im Hintergrund darum kümmern, im Script selber würde man ihn nur „in die Session“ schreiben.)