Rolf b: Probleme beim URL routen

Beitrag lesen

Hallo pl,

weil es wenig hilfreich ist, in der URL "role=user" stehen zu haben und der User das mit "role=admin" übertippen kann.

Rechte eines Users müssen immer seinem serverseitigen Benutzerprofil basieren, das ausgehend von der Session-ID gefunden wird. Entweder ist er ausgeloggt, dann hat er Gast-Rechte, oder er ist eingeloggt, dann steht die User-ID in der Sessiondatei und basierend darauf wird die Rechtemenge bestimmt. Wenn das aufwändiger ist, kann man das Ergebnis in der Session-Datei cachen. Aber niemals dort, wo der User mit bösen Patschefingern hingreifen kann. Nicht in der URL. Nicht in HTML-Elementen. Nicht in der Keksdose. Nicht im Local Storage. Nur auf dem Server.

Ich frag mich aber gerade, was in diesem Fall passiert: Wenn ich eine böse Seite example.evil habe, die beim Aufruf den referer example.com bekommt, und dann ein HTML liefert, das in einem Frame example.com referenziert - dann würden die Aufrufe aus dem Frame doch auf die Keksdose von example.com zugreifen und die Session ID mitliefern. D.h. wenn example.com so gebaut ist, dass GET Requests mehr tun als nur Daten zu lesen, könnte example.evil mittels Referer Schaden anrichten. Oder?

Rolf

--
Dosen sind silbern