Hallo Communty,
ich wollte euch mal fragen, ob es eine bessere/sichere Methode existiert als mit PHP Session?
Besser und sicher in welchem Zusammenhang? Welchen Vergleich erhoffst Du dir?
Sessions sind schon verdammt sicher. Unsicher wird’s erst durch falsche Anwendung.
du könntest theoretisch die inhalte deiner session mit md5() oder so verschlüsseln
aber sonst fällt mir auch keine sicherere Methode ein!
md5() ist nur keine Verschlüsselung und lässt sich schwer zurückwandeln.
Suhosin bietet es transparent an Session-Daten zu verschlüsseln: Hardened-PHP Project - PHP Security - Feature List
Für eine eigene Implementation würde sich ein eigener Session_Save_Handler eignen (Zend_Session_SaveHandler_DbTable ist natürlich perfekt für sowas).
Gibt es irgendwo eine gute Seite, auf der erklärt wird, wie man Sessions sicher benutzt?
Die Frage ist nicht ganz einfach zu beantworten, da Sessions im Grunde völlig unproblematisch sind. Nur lassen sich natürlich potentiell auch mit Session-Daten „allgemeine“ Sicherheitslücken wie SQL Injections oder XSS oder irgendeine andere Art fehlerhafter Programmierung ausnutzen.
Es ist aber nie schlecht, einen eigenen session_save_path zu definieren, da ansonsten theoretisch verschiedene auf einem Server gehostete Webangebote ein Session-Verzeichnis teilen, was in mehr oder weniger stark realistischen Fällen zu Sicherheitsproblemen führen kann.
Ich würde außerdem auf das Übertragen der Session-ID im URL verzichten und ausschließlich auf Cookies setzen.
Man könnte noch weitere Themen ansprechen, aber da kommt man so langsam in den Bereich allgemeiner Sicherheitsüberlegungen (zum Beispiel notwendige Passworteingabe bei wichtigen Operationen, auch wenn Login besteht).
vielen dank für eure Antworten. Ich werde mich mal mit session_save_path beschäftigen.
PS: Die Inhalte verschlüssel ich nicht mit md5, sondern nur das Passwort