Hallo Zusammen
Ich versuche eine Benutzerauthentifizierung zu realisieren, allerdings ohne Session-Tabellen in einer MySQL-Datenbank oder Flat-Files zu verwenden.
Die Abfrage mache ich mit php-ldap an ein MetaDirectory.
Diese Abfrage möchte ich allerdings auf eine Abfrage beim Login beschränken.
Sprich: Bei einem erfolgreichen Login sollte irgendwie die Information über den Erfolg gespeichert werden und vom Script auf dem Server auf seine Gültigkeit überprüft werden können.
Wie stelle ich das am besten an?
phpMyAdmin macht es scheinbar so wie ich es möchte, habe den Code mal angeschaut aber verstehe ich aufgrund hoher Komplexität kaum.
Gruss und Danke für eure Hilfe
Simon
Sicherer Login ohne Persistenz
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Sicherer Login ohne Persistenz
HTTP ist stateless, d. h. du musst den Status der Authentifizierung irgendwie selbst speichern, in einer Session oder mit Cookies, wobei letztere natürlich beliebig manipuliert werden können, weil clientseitig gespeichert.simcen wrote:Wie stelle ich das am besten an?
Ja, mit Cookies oder HTTP-Auth, deren Ergebnis der Browser speichert.simcen wrote:phpMyAdmin macht es scheinbar so wie ich es möchte, habe den Code mal angeschaut aber verstehe ich aufgrund hoher Komplexität kaum.
Re: Sicherer Login ohne Persistenz
*patsch*
Wieso nicht gleich so... Session-Variablen sind für den Client gar nicht zugänglich. Richtg?!
Habe mal versuchsweise folgende Lösung implementiert:
- Hash aus UserID
- Hash aus Passwort
- Hash aus einem blowfish_secret (wie bei phpMyAdmin)
- Hash aus allen drei Hashen plus IP-Adresse
Alle Hashes speichere ich in der Session und vergleiche serverseitig den 4. Hash mit dem generierten.
Damit stelle ich eine weitere Hürde neben einer Sniffing-Attacke noch die IP-Adresse spoofen zu müssen.
Ist das sicher genug? Bedenken?
PS: Autologin usw. will ich nicht, desshalb auch keine Cookies.
Gruss
Simon
Wieso nicht gleich so... Session-Variablen sind für den Client gar nicht zugänglich. Richtg?!
Habe mal versuchsweise folgende Lösung implementiert:
- Hash aus UserID
- Hash aus Passwort
- Hash aus einem blowfish_secret (wie bei phpMyAdmin)
- Hash aus allen drei Hashen plus IP-Adresse
Alle Hashes speichere ich in der Session und vergleiche serverseitig den 4. Hash mit dem generierten.
Damit stelle ich eine weitere Hürde neben einer Sniffing-Attacke noch die IP-Adresse spoofen zu müssen.
Ist das sicher genug? Bedenken?
PS: Autologin usw. will ich nicht, desshalb auch keine Cookies.
Gruss
Simon