Cookies
-
hallo,
hab lange nichts mehr mit PHP gescriptet und wollte jetzt ein login mit cookies machen. jetzt werden nach einem erfolgreichem login name und passwort (md5 hash) in ein cookies gespeichert. natürlich stell ich mir als sicherheitsfanatiker jetzt die frage: es sollte doch kein problem sein die cookies auszulesen (den md5 hash + name), vll wenn jemand grad aufm klo is, und sich dann selber son cookie zu erstellen und sich so ganz elegant den zugriff zu verschaffen.wie kann ich sowas verhindern / ist es überhaupt ein so großes risiko wie ich denk?
mfg blan
-
Du könntest mit Sessions arbeiten. Dann kannst du um die Sicherheit zu erhöhen noch zu der Session ID eine zusätzlich zufällige ID übergeben, die du in der Session speicherst und bei jedem aufruf vergleichst.
Die Session ist dann nur 20min oder so gültig, im gegensatzt zu dem Passwort Hash, der immer gültig ist. Und das passwort wird nur einmal im Netzwerk übertragen.
-
daten in cookies schreiben sind egtl. kein sicherheitsrisiko, da das pw in md5 gehashed ist.... das einzige was ist.... du solltest username und pw getrennt voneinander aufbewahren.... obwohl das nicht nötig ist!
-
BG-World schrieb:
daten in cookies schreiben sind egtl. kein sicherheitsrisiko, da das pw in md5 gehashed ist.... das einzige was ist.... du solltest username und pw getrennt voneinander aufbewahren.... obwohl das nicht nötig ist!
jaklar, aber wenn jemand das cookie cloned, bzw nen cookie mit dem hash und dem username selbst erstellt und in zB firefox einfügt, das sollte bei firefox (opensource) doch kein problem sein... der server kann ja nicht unterscheiden ob das ein orginal cookie ist?
p.s: ja ich werde mir wohl sessions anschaun müssen...
mfg blan
-
blan schrieb:
jaklar, aber wenn jemand das cookie cloned
ja, wenn jemand das passwort "klont" hat er zugriff auf deine seite
da kann man nix machen.
-
Erzeug halt einfach einen Passwort-Hash, der nach X Minuten Benutzung verfällt.
-
wenn du mir erklärst wie ich das mache? irgendein beispiel code oder sowas?
mfg blan
-
du kannst doch bei setcookie die cookie-lebensdauer angeben ("expire")
-
geeky schrieb:
du kannst doch bei setcookie die cookie-lebensdauer angeben ("expire")
Die Lebensdauer ist aber clientseitig und somit unzuverlässig.
@blan: Einen zufälligen Hash erzeugen und diesen für den Login verwenden. Zusätzlich die Zeit des letzten Websitebesuchs speichern. Wenn nun bei einem Seitenbesuch die seit dem letzten Besuch vergangene Zeit zu groß war, wird der Hash als ungültig angesehen und man muss sich neu einloggen.
-
Mach es mit Sessions
Ist sicherer und besser.
Zwar schwerer, aber es geht