Session ID weitergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Session ID weitergeben

    Servus

    Ich bastel derzeit an einem etwas größeren CMS und habe nun ein Problem entdeckt mit meiner Login-Methode aber keine Ahnung wie ich dieses gescheit löse, geschweige denn vernünftig erkläre x)

    Mein Login-System basiert auf Sessions und MySQL. Im Regelfall wird die Session-ID eines Benutzers in einem Cookie abgelegt und die Benutzerdaten in der MySQL Tabelle mit der ID verknüpft.

    Im anderem Fall, wenn Cookies beim Benutzer deaktiviert sind, wird die Session-ID via Link oder Formular (Get, Post) weitergegeben und vor dem starten der Session via session_id() gesetzt.

    Andernfalls habe ich festgestellt das ich bei deaktivierten Cookies immer wieder eine neue Session ID erhalte, also muss die Weitergabe via Get oder Post sein.

    Das Problem das dadraus entsteht ist folgendes: Sobald Cookies deaktiviert sind und ein Benutzer einen Link an jemand anderen weitergibt erhält dieser jemand automatisch auch die Session-ID.

    Diese Session-ID wird von meinem System gefunden, via session_id() gesetzt und via üblichem Prozedre mit den Benutzerinformationen verknüpft.

    Ergo, war derjenige eingeloggt als er den Link mit der ID weitergab wird derjenige der diesen Link dann aufruft ebenfalls automatisch mit dem Benutzernamen desjenigen eingeloggt der ihm den Link gegeben hat.

    Und da liegt das Problem... was kann ich da machen? (bei anderen CMS Systemen klappts ja auch x)).

    Eine Überprüfung der IP Adresse wäre das naheliegenste, dann gibt es aber das Problem wenn 2 Rechner an einem Router hängen haben sie die gleiche IP->das Problem wie oben beschrieben besteht weiterhin bei Link-Weitergabe mit deaktivierten Cookies.

    Ich hoffe irgendwer hat verstanden worum es geht und hat nen Vorschlag wie ichs lösen kann das jeder Benutzer bzw. Besucher auch wirklich eindeutig bleibt.

  • #2
    evtl. für dich lesenswert:
    Session Sicherheit
    Wir werden alle sterben

    Kommentar


    • #3
      Das liefert mir schonmal ein paar Lösungsansätze... dankesehr.

      Am "schönsten" gefällt mir die Browsersignatur... nur verstehe ich nicht ganz wie das funktionieren soll.

      Kommentar


      • #4
        Ist doch klar, oder?
        Du speicherst ein paar Daten, welche vom Browser kommen in $_SESSION. Wenn der Browser plötzlich was anderes liefert, dann gehst du von einem Angriff aus.
        Wir werden alle sterben

        Kommentar


        • #5
          Soweit klar... jedoch "sichert" dies das ganze nur bedingt mehr ab, da z.B. $_SERVER['HTTP_USER_AGENT'] leer sein kann->2 mal leer+gleiche IP (meinetwegen auch ein Proxy)->Problem.

          ... ich geb zu ... das Spiel kann ich ewig so weitertreiben... ^^

          Hab mir mal Quelltexte von anderen CMS Systemen angesehen und diese scheinen auf SID, IP-Adresse und HTTP_USER_AGENT zu basieren... bzw. anstelle der SID auf einer eigenen, eindeutig generierten, ID.

          Dann werde ich das vorerst so machen auch wenns sicher nicht 100%ig ist, sinkt die Warscheinlichkeit das oben genanntes Problem auftaucht.

          Kommentar


          • #6
            Ja, das mit der SID in der URL ist wirklich keine schöne Idee ...
            Mit Cookies und über SSL ist das alles viel stabiler..
            Wir werden alle sterben

            Kommentar

            Lädt...
            X