phpbar.de logo

Mailinglisten-Archive

[php] Sessions for runaways

[php] Sessions for runaways

Alexander Wagner wagner_(at)_globalpark.de
Sun, 17 Sep 2000 15:04:23 +0200


> Wie übergebe ich die Session ohne Cookie/GET?
> MfG Chris

IMHO gar nicht. Man kann natürlich auch andere Lösungen frickeln, aber
die haben dann größere Nachteile als Cookies/Get. Post killt den
Back-Button, Javascript kann abgeschaltet sein und "frames bite".
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.
- Eine nicht ganz saubere Lösung ist die Prüfung des HTTP_REFERERs. Wenn
dieser leer ist oder nicht mit der hübschen Domain deines Kunden (incl.
http://) anfängt, kam der Client nicht von einer Seite auf dieser
Domain, hat die Url samt Ses-ID von Hand eingetippt, also evtl.
manipuliert. Dann schmeisst man ihn einfach raus.
Geschmackssache ist natürlich, dass der Client schon dann
rausgeschmissen wird, wenn er die Seite kurz verlässt, aber bei Get wäre
das ja eh der Fall.
Das Problem dieser Lösung ist, dass der Referer vom Client übertragen
werden kann, aber nicht muss. Bei Opera lässt sich dass z.B. abschalten.
Ausserdem filtern wohl bestimmte Proxies (Anonymizer) diese Referer
raus, damit man anonymer wird.
Wenn Du aber damit leben kannst, dass u.U. Benutzer exotischer Browser
(weder NNav noch IE lassen die Nichtübertragung der Referer zu) oder
besonders anonyme Menschen ständig rausfliegen, würde ich zu dieser
Lösung raten. Kannst ja eine Meldung bezgl. eventueller Technischer
Probleme ausgeben, wenn jemand mehrfach wegen sowas rausfliegt.
Die Idee hierzu hab ich übrigens von Ritze.
- 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.

Ich hoffe es hat geholfen. Erzähl dem Kunden einfach, dass es nicht
anders _geht_. Technische Beschränkungen...
Kannst dir ja noch mehr Sicherungsmechanismen einfallen lassen.

Gesundheit
Wagner


php::bar PHP Wiki   -   Listenarchive