[PHP] Sicheres Auto Login System

07/06/2013 11:44 Sedrika#1
.
07/06/2013 16:58 tolio#2
was spricht deiner meinung nach gegen die ganz normale php session?
07/06/2013 17:10 Sedrika#3
Eine Session ist natürlich auch von Vorteil und kommt hier auch zum einsatz, nur ist bei Cookies die Lebensdauer der entscheidende vorteil.

Ich tendiere zu einer Mischung.
07/06/2013 17:15 bitte nicht bebannen#4
Ich hörte die Lebensdauer von Sessions kann man auch einschränken.
07/06/2013 20:58 Else#5
Das Problem ist folgendes, mit den Keksen: Was tust Du, wenn der Benutzer die Kekse nicht zulässt? Du kommst um eine PHP basierte Session nicht herum.
07/06/2013 21:10 Sedrika#6
Wenn jemand Kekse nicht akzeptiert, dann wird dieser genauso wenig auf "Angemeldet bleiben" klicken ;)
07/06/2013 21:30 tolio#7
auch die phpsession läuft mit nem cookie, da das http protokoll zustandslos ist bleibt dir nichts anderes übrig als cookies zu nutzen um user in irgendeiner form einzuloggen.
07/06/2013 21:34 Sedrika#8
Man kann auch nur Sessions nutzen aber wo bleibt der Sinn ohne Cookies eines Auto Logins.

Hier geht es doch um ein Auto Login und so unsicher ist das Script gerade auch nicht.
07/06/2013 22:36 マルコ#9
Was tolio sagen will:
Benutz nich nen Cookie zum Speichern der SID, sondern z.B. nen GET Parameter.
Und dann kannst du natürlich Cookies ganz normal für "Remember Me" verwenden.

btw, kommt das nich in die Tutorials Sektion? Sollte mal n Mod verschieben...
07/06/2013 22:44 Sedrika#10
Ich denke hier ist es besser aufgehoben, da es zum Web Developement dazu gehört.

Was meinst du mit "benutz' einen GET Parameter" ? Hast du ein beispiel dafür ?
07/06/2013 23:05 Fehlgeschlagen#11
#Wichtig;

Cookies werden Client-Side gespeichert und können so ganz leicht zur SQL Injektion führen
wenn man Cookies in die Datenbank abfrage hinzufügt deshalb niemals vergessen die Parameter zu Escapen. Man sollte sowieso lieber zu viel Escapen als zu Wenig.
07/07/2013 00:09 マルコ#12
Quote:
Originally Posted by Sedrika View Post
Ich denke hier ist es besser aufgehoben, da es zum Web Developement dazu gehört.

Was meinst du mit "benutz' einen GET Parameter" ? Hast du ein beispiel dafür ?
Ja, aber es ist immer noch ein Tutorial, und solche gehören imo in die entsprechende Unterabteilung.

Einfach bei allen Links die SID hinten anfügen und dann in PHP den GET Parameter statt dem Cookie nehmen, um die Session zu initialisieren.

<a href="index.php?sid=ih3tub2ig93nu23bgi2rbnu2ilr">H ome</a>

Du musst das natürlich mit PHP an jeden Link anfügen.
07/07/2013 00:14 flogi333#13
Quote:
<a href="index.php?sid=ih3tub2ig93nu23bgi2rbnu2ilr">H ome</a>
DAS würde ich nicht machen, denn wenn der Benutzer jemanden diesen Link sendet und die Session noch nicht beendet wurde hat dieser seinen Zugang

Da müsste man wieder mit IP/MAC-Adresse/etc.. validieren, ob es der selbe ist.
07/07/2013 00:16 Sedrika#14
Quote:
Originally Posted by flogi333 View Post
DAS würde ich nicht machen, denn wenn der Benutzer jemanden diesen Link sendet und die Session noch nicht beendet wurde hat dieser seinen Zugang

Da müsste man wieder mit IP/MAC-Adresse/etc.. validieren, ob es der selbe ist.
Sehe ich genauso.
Das mit dem GET Parameter wäre schwachsinnig.
Und natürlich ist dies nur ein Beispiel wie man es machen kann. Natürlich muss man Escapen und den Login allgemein Validieren, das ist aber bei jedem so verschieden, dass ich darauf nicht eingegangen bin.
07/07/2013 08:15 マルコ#15
Quote:
Originally Posted by flogi333 View Post
DAS würde ich nicht machen, denn wenn der Benutzer jemanden diesen Link sendet und die Session noch nicht beendet wurde hat dieser seinen Zugang

Da müsste man wieder mit IP/MAC-Adresse/etc.. validieren, ob es der selbe ist.
Aber dann hast du doch trotzdem wieder diesen Link^^
Natürlich zieht das wieder eine neue Reihe an Sicherheitsprüfungen hinter sich her.
Der GET Parameter ist aber keinesfalls Schwachsinn, sondern eine GÄNGIGE Methode, um Sessions ohne Cookie Unterstützung durchzusetzen (mir fallen nur sehr abenteuerliche Alternativen ein).
Vor allem Leute, die professionell arbeiten, bedienen sich solcher Mittel, deshalb denke ich, dass dies in diesem Forum(/Thread) einfach fehl am Platz ist.
RL Beispiele:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
...

Warum man allerdings nur selten auf SIDs in URLs stößt ist, weil es eben eine Menge Arbeit ist (immerhin müssen alle Links entsprechend geändert werden). Ohne ein entsprechendes System im Hintergrund würde ich persönlich auch auf sowas verzichten und den Besucher auffordern, Cookies zu aktivieren.