Mailinglisten-Archive |
Hi, mal wieder das Session-Thema :-) > > Wie übergebe ich die Session ohne Cookie/GET? > > MfG Chris > > [...] > Dir wird wohl nichts anderes übrig bleiben als entweder deinem Kunden > die Kekse schmackhaft zu machen oder GET soweit aufzumotzen, dass es für > den Kunden annehmbar ist. > Dazu fällt mir folgendes ein: > - Prüfe die IP. Wenn jemand während einer Session die IP welchselt, ist > es gut möglich, dass auch der Rechner gewechselt, also die Session > geklaut wurde. Diese Sicherung kann man nur überlisten, wenn man durch > die selbe Firewall/durch den gleichen Proxy wie der ursprüngliche > Session-Inhaber ins Netz geht. Aber das sollte zu verschmerzen sein. Dagegen spricht, dass ... a) ... sehr viele Anfragen von Proxys kommen und deshalb ein und die selbe IP verwenden, auch wenn die in verschiedene Sessions gehören. b) ... IPs zunehmend dynamisch vergeben werden. Bei einer erneuten Einwahl ist die Session beendet. Noch schlimmer: Größere Proxys bestehen aus mehreren Rechnern mit eigener IP. Die IP wechselt also von Request zu Request. > - Eine nicht ganz saubere Lösung ist die Prüfung des HTTP_REFERERs. Du schreibst ja selbst, warum Referer problematisch sind. Auch die nicht so "exotischen" Browser werden evtl. schon bald eine Option zum Abschalten des Referers haben, die sicherheitstechnisch wirklich problematisch sind. Spätestens dann kann man den Referer als Session-Tracker vergessen. > - Zur optischen Aufpolierung der URL kann man nicht viel mehr als > mod_rewrite verwenden, dass was kryptisches in der URL steht lässt sich > aber nicht vermeiden. Ausser über Frames, aber die sind wie gesagt > bissig. Ein "?id=abcdefghijklm" ist auch aus kosmetischer Sicht eigentlich unproblematisch (auch wenn manche Suchmaschinen diese Dinger immer noch nicht anfassen). Sehr elegant finde ich, die ID in die Domain zu kodieren ("abcdefghijklm.irgendwas.de"), das macht die interne Verlinkung viel einfacher. Aber darauf gibts ja dummerweise eins dieser nervigen Patente. Wenn man die ID lang genug macht und sie eindeutig und zufällig ist, kann man auch die Gefahr, dass der User daran rummanipulieren kann, vernachlässigen. Es wird ihm kaum gelingen, eine gültige und gerade aktive SessionID zu erwischen. Problematisch sind die Referers, die dafür sorgen, das die Session-IDs munter in allen möglichen Server-Logfiles mitprotokoliert werden. Um das zu verhindern, müßen alle Links nach draußen über eine Weiterleitung laufen (ein Problem, das z.B. GMX vor einiger Zeit lösen musste). Wer es wirklich sicher haben will, sollte sich SSL anschauen, alles andere (IPs, Referer, Frame/Script-Spielereien) ist "gefrickelt". Fürs normale User-Tracking, Zugang zu Foren, Personalisierung etc. sind Cookies und als Fallback GET (also die PHPLib-Veriante) IMHO durchaus ausreichend. Bye, Gerald.
php::bar PHP Wiki - Listenarchive