Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Session & Cookies (https://boardunity.de/session-cookies-t5747.html)

4ebu 20.03.2008 18:03

Session & Cookies
 
Hallo,

nachdem ich nun angefangen habe ein Login-Script zu schreiben, stelle ich mir einige Fragen bezüglich Sessions und Cookies, vorallem geht es mir da um das Thema Sicherheit.

Ich fange jetzt einfach mal mit Sessions an. Bei aktivierter Cookie-Funktion im Browser ja eigentlich kein Problem. Wie ist es dann am besten zu machen wenn Cookies vom Benutzer deaktiviert wurden? Falls die PHP-Option "session.use_trans_sid" aktiviert ist hängt PHP automatisch die session_id an jede URL (zB. index.php?seite=1&PHPSESSID=bd35eeb6782692456ada4e 67bde53bde). Nur kann man dieser Option vertrauen, hat sie etwas mit dem Browser zu tun? D.h. gibt es Browser die session.use_trans_sid nicht unterstützen etc.? Oder sollte man besser eine eigene Funktion schreiben die diese Aufgabe erledigt?
Bei bekannten Forensoftware (vBulletin, wbb) konnte ich jedenfalls beobachten dass sie anscheinend eine eigene Funktion benutzen die diese Aufgabe erledigt. Hat dies einen bestimmten Grund? Bei phpBB2 konnte ich sowas überhaupt nicht finden und bei phpBB3 scheint die session_id, unabhängig davon ob Cookies aktiviert sind oder nicht, an die URL angehängt zu sein.
Das ist diese Option die Sicherheit etwas beeinträchtig ist auch klar. Wenn der Benutzer zB. den Link in ein anderes Forum postet etc. Und jeder sozusagen seine Session benutzen kann, falls diese noch nicht abgelaufen ist.

Jetzt kommen wir auch schon zu den Cookies. Normalerweise, also wenn Cookies aktiviert sind, erstellt PHP automatisch ein Cookie in dem die Session weitergegeben werden (PHPSESSID). Spricht etwas gegen diese Variante und sollte man besser ein eigenes Cookie erstellen lassen in dem man die Session weitergibt (vielleicht weil man das Cookies besser kontrollieren kann etc?), oder könnte man es einfach bei der "automatischen" Variante belassen?
Ist es auch nicht so dass die Variante "Sessions in Cookies weitergeben" eigentlich genau so "unsicher" ist, wie die, SessionID in der URL (index.php?seite=1&PHPSESSID=bd35eeb6782692456ada4 e67bde53bde)? Mal davon abgesehen dass man an die SessionID im Cookie theoretisch schwerer rankommt als an die in der URL, und der Benutzer diese nicht unbeabsichtigt an anderen Leute weitergegeben kann.

Da wären wir auch schon bei der nächsten Frage. Welche Möglichkeiten gibt es diese Funktionen sicherer zu machen. Es geht jetzt hauptsächlich nur um die Frage, wie man überprüfen kann ob einem bestimmten Benutzer die SessionID "geklaut" wurde oder nicht. Ich habe oft gelesen, dass man zB. IPs nicht dazu benutzen sollte um zu überprüfen ob das immer noch die selber Person ist, die unter einer bestimmten SessionID unterwegs ist.

Jetzt noch ein Frage zu der "automatisch angemeldet bleiben"-Funktion. Mal davon abgesehen dass diese Option das ganze noch unsicherer macht - welche Daten sollte man in dieses Cookies speichern? Was für Möglichkeiten gibt es, sowas zu realisieren?

Natürlich habe ich auch bei Google gesucht, auch viele Tutorials gefunden, die sich aber nur mit den grundlegenen Funktionen von Session und Cookies befassen. Ausserdem möchte ich die Leute, die sich mit diesem Thema befasst haben, und evtl. auch schon einige Projekte mit Cookies und Session erstellt haben, fragen welche Varianten sie benutzt, bzw. mit welchen sie bessere Erfahrungen gemacht haben.

Ich freue mich auf eure Antworten, Erfahrungen und Tipps. Danke

Mfg, 4ebu

LonelyPixel 22.03.2008 23:50

Aus den ähnlichen Themen unten:
http://boardunity.de/user-login-system-t4786.html
Welche Fragen bleiben dann noch übrig?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25