Announcement

Collapse
No announcement yet.

Cookies

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cookies

    Hi,

    ich hab nun meine erste Webapplication progammiert, sass lang genug dran, so richtig mit allem was dazu gehört.

    Nun steh ich bezüglich Cookies immer noch auf dem Schlauch.

    Fangen wir einfach mal an:

    Eine typische Webapplication zeigt als erstes einen Login-Screen. Dort gibt man Benutzername und Passwort ein, das ganze wird auf zum Server geschickt, per Datenbank werden die Eingaben verglichen und dann wird eine Session erzeugt, die auf dem Server existiert.

    Loggt sich der Benutzer aus, so wird die Session zerstört.

    Was passiert aber nun, wenn die Session noch existiert, und der Benutzer nur den Browser geschlossen hat?

    Nun, nach einer gewissen Zeit wird die Session automatisch zerstört.

    Aber was ist wenn der User versucht sich neu einzuloggen während seine Session noch gültig ist?

    Ich denke an dieser Stelle kommen dann Cookies ins Spiel.

    Ich frag mich aber, was genau in so einem Cookie gespeichert werden sollte, wie machen das andere Webapplications?

    Idee 1: Benutzername und Passwort als Klartext in Cookie speichern.
    Nun, aus Sicherheitsgründen total bescheuert, aber zumindest würde der Server wissen können (falls man SessionId in die Datenbank speichert) dass die Session noch gültig ist.

    Idee 2: SessionId in Cookie speichern.
    Macht das Sinn?

    Und wie geht das alles technisch?

    Ich meine es gibt da Methoden in der JSP Servlet API. Wahrscheinlich auch zum Schreiben und zum Lesen der Cookies.

    Hat jemand von Euch Erfahrung damit?

    Liebe Grüße
    DaRolla
    http://fhdo.ath.cx/ba

  • #2
    Hallo DaRolla,

    Originally posted by DaRolla View Post
    Was passiert aber nun, wenn die Session noch existiert, und der Benutzer nur den Browser geschlossen hat?
    Originally posted by DaRolla View Post
    Nun, nach einer gewissen Zeit wird die Session automatisch zerstört.
    Das sollte so sein
    Originally posted by DaRolla View Post
    Aber was ist wenn der User versucht sich neu einzuloggen während seine Session noch gültig ist?
    Das kommt darauf an, wie das Login-Script programmiert ist. Prinzipiell fallen mir drei Varianten ein.
    1. Die Sichere: Beim Aufruf des Loginscriptes wird prinzipiell eine existierende, gültige Session zerstört und das Login neu durchgeführt.
    2. Die Komfortable: Das Loginscript erkennt die gültige Session und leitet den user mit diesen Logindaten weiter zur Applikation.
    3. Die Alternative: Das Loginscript erkennt die gültige Session und bietet neben der Weiterleitung zur Applikation das Logout an.
    Originally posted by DaRolla View Post
    Ich denke an dieser Stelle kommen dann Cookies ins Spiel.
    Nein! Cookies kommen ab dem Zeitpunkt ins Spiel, ab dem eine Session erzeugt wird. Die Sessionklasse erzeugt im allgemeinen automatisch einen Sessioncookie, in dem die Session-ID gespeichert wird.

    Originally posted by DaRolla View Post
    Ich frag mich aber, was genau in so einem Cookie gespeichert werden sollte, wie machen das andere Webapplications?

    Idee 1: Benutzername und Passwort als Klartext in Cookie speichern.
    Nun, aus Sicherheitsgründen total bescheuert, aber zumindest würde der Server wissen können (falls man SessionId in die Datenbank speichert) dass die Session noch gültig ist.

    Idee 2: SessionId in Cookie speichern.
    Macht das Sinn?

    Und wie geht das alles technisch?
    Idee 1 würde ich ganz schnell vergessen! Deine Idee 2 ist der allgemein gängige Weg. In der Session auf dem Server werden Benutzername und Password (ggfs. verschlüsselt) gespeichert, während auf deinem lokalen PC in einem Cookie nur die zugehörige Session-ID gespeichert wird. Damit ist es einem Angreifer durch "erraten" oder "erschnüffeln" der Session-ID möglich, die gerade aktive Session zu "kidnappen". Wenn das Sessionscript dann zusätzlich zur Session-ID auch noch die IP-Adresse überprüft, dann wird es für den Angreifer noch einen Tick schwieriger, da er jetzt auch noch die IP fälschen muß.
    Technisch mußt du dich in aller Regel um den Session-Cookie gar nicht kümmern, da dieser automatisch von der Session-Klasse angelegt wird.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X