kostenloser Webspace werbefrei: lima-city


PHP Session Loginsystem - Sicherheit

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m**********n

    Hallo LC-Community,

    wie der Titel schon sagt, setze ich mich gerade mit Sessions und Logins auseinander. Dabei habe ich ein wenig im Netz geforscht und bin auf ein Problem zu Useridentifizierung gestoßen.

    Man möchte bei einer Session einen User ja eindeutig identifizieren. Dabei legen ein paar Websiten nahe, einfach den Benutzernamen in der Sessionvariable zu speichern. Das erscheint mir sehr unsicher, da sich ein eingeloggter Benutzer dadurch in einen anderen "verwandeln" könnte.
    Eine andere möglichkeit war, einfach Benutzername und Passwort in die Session abzulegen. Da denke ich aber, dass jemand anderes an den PC gehen könnte und einfach das Passwort auslesen kann.

    Gibt es nicht irgendeine andere sichere Lösung?

    Danke schonmal für Antworten.

    Lg

    mator
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo,

    du übersiehst dabei das Wesentliche bei der Sessionvariable ($_SESSION) in PHP. Alle Informationen in der Sessionvariable werden auf dem Server gespeichert und werden nicht an den Benutzer weitergegeben, außer man möchte es und dann muss man es expliziet machen.

    Dabei spielt dei Funktion
    session_start();

    eine große Rolle. Diese veranlässt, dass beim Benutzer ein Cookie mit einer Sessionid angelegt wird. Diese Id ist "zufällig und nicht erratbar". Mit dieser Id authetifiziert sich der nutzer automatisch als besitzer der Infomationen. Der Grund wieso der Benutzername oder nur die ID des Benutzers in der Sessionvariable vermerkt ist, ist das man so dem Benutzer noch den richtige Account zuweisen kann, ansonsten wäre es ein Benutzer, dem du aber kein Account zuordnen kannst.


    Ich hoffe, dass deine Frage damit ausreichend beantwortet ist.

    Gruß
    illuxio
  4. Autor dieses Themas

    m**********n

    Erstmal danke für die schnelle Antwort.

    Also bedeutet das, dass ich nur noch schaun muss, ob in
    $_SESSION["username"]
    (ich weiß, dass man das anders nennen kann) ein Benutzername steckt und gar nicht mehr mit dem Passwort überprüfen muss. Weil andere Seiten das vorgeschlagen hatten und mich das verwirrt hat.

    Ich dachte, dass die einzelnen Sessionvariablen auch wie die ID Cookiemäßig auf dem PC gespeichert wird. Aber wenn alle Sessionvariablen auf dem Server gespeichert werden, wer räumt da auf? Also müllt das nicht mit jeder neuen Session irgendwann zu?

    Lg

    mator

    Edit: Deutsche Sprache, schwere Sprache xD

    Beitrag zuletzt geändert: 20.4.2012 20:31:44 von mator-kaleen
  5. anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    mator-kaleen schrieb:
    Also bedeutet das, dass ich nur noch schaun muss, ob in
    $_SESSION["username"]
    (ich weiß, dass man das anders nennen kann) ein Benutzername steckt und gar nicht mehr mit dem Passwort überprüfen muss. Weil andere Seiten das vorgeschlagen hatten und mich das verwirrt hat.

    Im Prinzip richtig. Ich empfehle jedoch $_SESSION['id'] oder etwas in der Art...
    Sollte es zu einem Fehler bei der Registration kommen und der selbe Benutzer zweimal angelegt werden, könnte das sonst problematisch werden. Eine ID mit Auto_Increment ist ja immer eindeutig.

    Ich dachte, dass die einzelnen Sessionvariablen auch wie die ID Cookiemäßig auf dem PC gespeichert wird. Aber wenn alle Sessionvariablen auf dem Server gespeichert werden, wer räumt da auf? Also müllt das nicht mit jeder neuen Session irgendwann zu?

    In der php.ini (hast du keinen Zugriff drauf) wird das "Verfalls-Datum" definiert.
    Wird dieses überschritten, wird die alte Session gelöscht.
  6. Autor dieses Themas

    m**********n

    Und schon wieder ein bisschen schlauer ;-)
    Damit wären alle meine Fragen geklärt. Karma +1

    Danke für die Antworten.

    Lg

    Mator
  7. Hi, ich habe jetzt auch eine gute Webseite gefunden, wo alles anhand von einen Login Beispiel gut erklärt wird.

    http://aktuell.de.selfhtml.org/artikel/php/loginsystem/
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!