Seite 1 von 1

Sicherheit von $_SESSION Daten

Verfasst: 09.10.2008, 09:19
von SchnaeppchenSUMA
Ich arbeitet in einem Projekt mit Formulardaten die per $_SESSION in Cookies gespeichert werden. Lassen sich diese Daten von Usern manipulieren (muss ich sie also auch auf Validität überprüfen), wenn ich sie aus dem Cookie auslese? Beim Schreiben in den Cookie werden sie bereits validiert, es geht also nur um Manipulationen die eventuell danach erfolgen.

Verfasst:
von

Verfasst: 09.10.2008, 09:34
von xoni
Formulardaten die per $_SESSION in Cookies
Warum lässt Du die Daten nicht in der Session?
Du brauchst die Daten doch nicht noch zusätzlich in
Cookies speichern...

Re: Sicherheit von $_SESSION Daten

Verfasst: 09.10.2008, 09:37
von proit
SchnaeppchenSUMA hat geschrieben:Ich arbeitet in einem Projekt mit Formulardaten die per $_SESSION in Cookies gespeichert werden. Lassen sich diese Daten von Usern manipulieren (muss ich sie also auch auf Validität überprüfen), wenn ich sie aus dem Cookie auslese? Beim Schreiben in den Cookie werden sie bereits validiert, es geht also nur um Manipulationen die eventuell danach erfolgen.
Bei diesem Einsatz kannst du dann auch ganz auf die Sessions verzichten und alles direkt aus dem Cookie auslesen / speichern, da du ohnehin jedesmals wenn du aus dem Cookie ausliest noch einmal validieren musst. Der Hinweis von wollbay ist aber der deutlich bessere Ansatz.

Verfasst: 09.10.2008, 09:42
von SchnaeppchenSUMA
heißt also wenn ich nur Daten per $_SESSION[irgendwas] aufrufe brauch ich diese nicht mehr zu validieren weil da eh kein User was dran ändern kann?

Verfasst: 09.10.2008, 09:45
von Hobby_SEO79
Mit Sessions ziehst du vom Nutzer eingegebene Werte durch seinen Klickweg. Cookies speichern Daten zur späteren Wiederverwendung (z.b. Browserabsturz, Passwörter, etc.).

Cookies können durch den Anwender nachträglich manipuliert werden, wenn er ein bissl Ahnung hat. Man kann den Cookieinhalt aber codieren. So wie du normal codierst. Dann weiss der User net, was da eigentlich drin steht.

Verfasst: 09.10.2008, 10:03
von SchnaeppchenSUMA
die Daten von $_SESSION müssen ja auch irgendwo gespeichert sein. Bisher dachte ich auf einem Cookie auf meinen Server. Darum die nachfrage mit dem Cookie :)

Verfasst: 09.10.2008, 10:39
von Southmedia
Im Cookie wird nur die Session-ID gespeichert. Die Daten lagern irgendwo bei dir, meist in einer Datei in einem Verzeichnis, kann aber auch eine Datenbank sein wenn so konfiguriert.

Trotzdem: Alles was aus $_GET, $_POST, $_COOKIE oder $_SESSION kommt sollte zumindest rudimentär überprüft werden.

Verfasst: 09.10.2008, 10:52
von beni
Naja, also wenn du in die $_SESSION schreibst, solltest du es unbedingt validieren da Variablen aus diesem Array auf jeden fall "sauber" zur weiteren Verwendung sein sollen.
Die Daten der $_SESSION-Arrays für jeden Benutzer liegen in Textdateien auf deiner Platte und sind nur für root lesbar. Wichtige Sachen sollte man nicht in Cookies speichern, da cookies ganz einfach manipuliert werden können. Meistens speichert man in einem Cookie - wie mein Vorposter schon anmerkte - nur eine SessionID (wird automatisch gemacht) womit dem User dann die Session auf dem Server zugeordnet wird.

Verfasst: 09.10.2008, 10:58
von SchnaeppchenSUMA
ah alles klar und danke, dann weiß ich bescheid ...

Verfasst: 09.10.2008, 11:42
von maddoggy
Achtung Klugscheißerei! :wink:
beni hat geschrieben: Die Daten der $_SESSION-Arrays für jeden Benutzer liegen in Textdateien auf deiner Platte und sind nur für root lesbar.

Na ich hoffe ja mal nicht das die Textdateien nur von root lesbar sind. Das würde ja bedeuten das dein Webserver auch als root läuft, was ich ja mal nicht hoffe.


So long


Alex

Verfasst: 13.10.2008, 16:34
von n3m0
Achtung, mehr Klugscheißerei! :wink:
maddoggy hat geschrieben:Achtung Klugscheißerei! :wink:
beni hat geschrieben: Die Daten der $_SESSION-Arrays für jeden Benutzer liegen in Textdateien auf deiner Platte und sind nur für root lesbar.

Na ich hoffe ja mal nicht das die Textdateien nur von root lesbar sind. Das würde ja bedeuten das dein Webserver auch als root läuft, was ich ja mal nicht hoffe.
Da z.B. unter Debian nur root ein "su www-data" machen kann, sind die Dateien tatsächlich nur für root lesbar. Zumindest im Kontext "echter" User.

[SCNR]