kostenloser Webspace werbefrei: lima-city


Session Sicherheit

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    philippkern

    Kostenloser Webspace von philippkern

    philippkern hat kostenlosen Webspace.

    Hallo,
    ich hab ein Script bei welchem man sich einloggen muss und wenn man erfolgreich eingeloggt ist wird eine Session \"erstellt\".

    Im Script hab ich dann folgende Überprüfung:
    if(isset($_SESSION[\'name\']) && isset($_SESSION[\'password\']))


    Mein Frage an euch ist ob das sicher ist, den bei dieser Überprüfung würde ja auch ein ein falscher Name/Password zu einem \"eingang\" in die if-Abfrage führen.

    Also kann der User selbst eine Session erstellen und somit dem Login entgehen?
    Und gelten Session domainweit oder global?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. m******s

    Die Sessionvars werden auf dem Server gespeichert, nicht beim User, der überträgt nur die Session-ID. Er müsste also zufällig eine existierende ID raten. Und da kannst du sowieso nur etwas gegen tun, wenn du die \"rechtmäßig\" aufrufende IP in der Session speicherst (was übrigens eh Sinn macht und dann auch relativ sicher vor Sessionklau ist)
  4. IP Überprüfung würde ich nicht unbedingt machen, weil du damit User aussperrst, die hinter einem Proxy sitzen (z.B. AOL User)

    Grüßle

  5. IP Überprüfung würde ich nicht unbedingt machen, weil du damit User aussperrst, die hinter einem Proxy sitzen (z.B. AOL User)

    Warum würde man dann Leute aussperren, die hinter einem proxy sind?
    Die wechseln ja auch nicht bei jedem Seitenaufruf die IP, oder?

    lg
    Vali
  6. Autor dieses Themas

    philippkern

    Kostenloser Webspace von philippkern

    philippkern hat kostenlosen Webspace.

    Hmm,
    also ich hab jetzt zusätzlich die IP gespeichert.

    Aber würde das so wie ich es oben hab auch reichen?
  7. Im Prinzip reicht das vollkommen aus. Du kannst aber zusätzlich beim Erstellen der Session einen zufälligen Wert generieren lassen und diesen in der Session mitspeichern. Gleichzeitig auch in einer Datenbank speichern und dann überprüfst du bei jedem Seitenaufruf, ob genau dieser zufällige Wert grade in der Datenbank steht.


    Beitrag geändert: 30.6.2008 20:36:21 von tct
  8. Ziehmlich unwahrscheinlich, dass eine Person durch Zufall eine gerade gültige Session ID trifft. Wenn du dich auch noch gegen das geziehlte ausprobieren (=Brute-Force) schützen willst, setzt du einfach sleep(0.5); . Damit kann der Hacker nur alle halbe sekunde einen Versuch starten, und bei der Menge an Möglichkeiten ist die Session schon lange abgelaufen, bevor der die ID hat.

    Lies dir das hier einfach mal durch:
    http://www.php.net/manual/de/session.security.php
  9. 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!