Mailinglisten-Archive |
Hallo, ich versuche gerade eine einigermassen sichere Sessionverwaltung, Nutzeranmeldung etc. auszutüffteln. Die Verwendung von PHPLib liegt natürlich nahe, nur ist mir dabei ein Problem aufgefallen, das hier nicht unbekannt sein dürfte: Wenn der Clientbrowser keine Cookies zulässt, benutzt PHPLib sessionid´s als GET-Parameter in der URL (soweit ich die Doku richtig verstanden habe). Dummerweise ist das jedoch recht problematisch, da diese Parameter unter Umständen als Refererer in den logfiles fremder Websites auftauchen. Dessen Webmaster muss also nur seine Logfiles nach diesen URLs scannen und die Seite schnell genug aufrufen, bevor die Session ausläuft. Für halbwegs sicherheitsrelevante Dinge ist das also nicht zu gebrauchen. Eine sicherere Alternative wären natürlich Session-Cookies, welche nicht dauerhaft gespeichert werden und beim Schliessen des Browsers verloren gehen. Diese werden aber leider aus Datenschutzgründen oft komplett abgeschaltet. Nun meine Frage: Gibt es eine praktikable Methode, Sessions zu verfolgen, ohne dabei Cookies zu verwenden? Wie schon erläutert, ist eine Session-ID als GET-Parameter nicht akzeptabel. Die SessionIDs mit Hilfe von POST zu übertragen geht auch nicht, da ich ja nicht immer FORMS benutzen will. Eine andere Möglichkeit wären Sequenznummern, also im Prinzip IDs, die nur für die jeweils nächste Seite gültig sind (ähnlich dem TAN-Prinzip beim Onlinebanking). Diese vertragen sich jedoch nicht mit dem Back-Knopf des Browsers oder dem Surfen in mehreren Fenstern. Vieleicht kann man den Standard-Browsern ja auch irgendwie sagen, KEINE Referers mitzuschicken (wie bei Opera4) ... ... gibt es bessere Methoden, oder bleibt die einzige Alternative, den Nutzer zur Verwendung von Cookies zu "zwingen" (z.B. durch PHPLib ohne erlauben des GET-Fallbacks) ?? mfg, Gerald Grote.
php::bar PHP Wiki - Listenarchive