Sicherheitsfrage: SESSIONs

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

  • Sicherheitsfrage: SESSIONs

    Guten Abend liebe Leute,

    ich habe mir ein Loginsystem über SESSIONs erstellt.
    Wenn der Login erfolgreich ist wird die $_SESSION["id"] mit einem Wert "id" aus der Datenbank gespeichert. Jeder User hat eine andere id, die bei der Registrierung automatisch zugeteilt wird.
    Nun wollte ich fragen, ob dieses Loginsystem überhaupt sicher ist, da die $_SESSION["id"] überhaupt nicht verschlüsselt wird.
    Ich werde später noch ein SSL-Zertifikat für meine Domain holen, damit es etwas sicherer ist, aber jetzt mal eine andere Lösung die ich mir überlegt hatte:
    Während der Registrierung bilde ich mit md5 einen Hash-Code bestehend aus user_id, user_name und user_email. Diesen Hash-Code speicher ich in einer neuen Spalte der User-Tabelle ab und verwende diesen dann als die neue $_SESSION["id"] für mein Loginsystem.

    Ist das sicherer? Weil eine einfache "id" wie ich es am Anfang hatte, kann ja jeder "Depp" rausfinden, da die ids einfach bei 1 losgehen und dann hochgezählt werden. Oder kann man damit trotzdem nichts anfangen als Hacker?

    Liebe Grüße

  • #2
    Nein ist es nicht.

    Kommentar


    • #3
      Hi,

      also macht folgendes keinen Unterschied in Sachen Sicherheit? :
      $_SESSION["id"] = $user_id (eine ID aus der Datenbank die bei jedem User anders ist)
      $_SESSION["id"] = $neuespalte (md5 aus $user_id + $user_name + $user_email)

      Aber das SSL-Zertifikat bringt dann auf jedenfall mehr Sicherheit, oder habe ich das was falsch verstanden?

      LG

      Kommentar


      • #4
        SSL ist gut damit werden die Übertragungen ziwschen Client und Server verschlüsselt.

        Was du in die Session selbst schreibst mach keinen unterschied zur Sicherheit. Was man allerdings nie dort abglegen sollte sind Passwörter auch nicht in cookies.

        Sicherheit erreichst du indem du immer im ganzen Script alle Werte die von Aussen kommen filterst und überprüftst. Entuell nur einen Client pro Acount zulassen. Achten darauf das die Session nicht übernohmen werden kann bzw gestohlen wird.

        Sql injection, XXS

        http://www.pcwelt.de/ratgeber/Pflich...it-473889.html

        http://www.pcwelt.de/ratgeber/Intern...RF-150841.html
        Zuletzt geändert von splasch; 18.08.2012, 08:08.

        Kommentar


        • #5
          Ok vielen Dank für deine ausführliche Antwort.
          SQL-Injektion kann ich bei meinem System ausschließen, wurde mir zumindest so gesagt, da ich MySQLi-Prepared-Statements bei jeder Abfrage verwende und so die Daten erst mit Platzhaltern gefüllt werden und geprüft werden und dann erst wirklich gespeichert werden. Auserdem schließe ich in meinem Formular noch mit PHP-Funktionen verschiedene Eingaben aus, vor allem eben Sonderzeichen usw...

          Liebe Grüße.

          Kommentar

          Lädt...
          X