Verständnisfrage für Sessions

  • Verständnisfrage für Sessions

    Hallo zusammen,

    habe vorhin folgendes gelesen: alice-grafixx.de/PHP-MYSQL-Tut…nfacher-Passwortschutz-69

    Dort wird als Session einfach mal "okay" gespeichert. Wo wird dies denn genau auf dem Rechner gespeichert? Ist die session vom User manuell löschbar bzw. sogar veränderbar?

    Könnte ich (ohne sicherheitsbedenken haben zu müssen) eine $_SESSION["user"] starten und je nach user einfach nur den wert der id rein schreiben? Und dann auf den jeweiligen Seiten einfach eine session starten und abfragen:

    if ($_SESSION["user"]=1) { Adminbereich }
    else
    if ($_SESSION["user"]>=5) { Userbereich }
    else
    { Kein Zutritt! }

    Nicht dass man den Session-Wert selbst logischerweise auf 1 setzt und schon hat man Zugriff auf den Adminbereich?
  • Session werden nicht auf dem lokalen Rechner gespeichert sonder auf dem Server.

    An sich ist dein Vorhaben so möglich. Ich würde aber an deiner Stelle die, für den usern nicht erlaubten Seiten, verstecken.
    So das der User nur das sieht worauf er auch zugriff hat.

    Sicherheits bedenken solltest du trotzdem haben. Zu 100% sicher ist heute sowieso gar nix mehr.
    Stichwort: "cross-site-scripting"
    Hab mich aber selber noch nicht genauer damit beschäftigt.


    gruß nobody
    "Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer."
  • Die Session ist vom Benutzer löschbar - dazu müsste einfach der PHPSESSID-Cookie gelöscht werden. In dem Cookie wird jedoch nur eine ID zu der Session gespeichert. Die Daten, die du über $_SESSION abspeicherst, liegen bei dir auf dem Server und sind für den Benutzer nicht einseh- oder veränderbar.
    Jan Thurau
    Software and Systems Engineer
    janthurau.de

    [Blockierte Grafik: http://www.pageheroes.com/media/image/pageheroes_logo.png] - We get your page working!