Mailinglisten-Archive |
Hallo Ralf, Am Freitag, 23. November 2007 schrieb Lutz Zetzsche: > Am Freitag, 23. November 2007 schrieb Ralf Eggert: > > Hallo Lutz, > > > > > nein, dazu mußt Du nur zweistufig vorgehen, d.h. auf der ersten > > > Seite einen Cookie setzen und auf der zweiten prüfen, ob er > > > (noch) da ist. :-) > > > > Der Fallback Mechanismus ist mir schon klar. So funktionieren > > Sessions ja auch, indem man die eindeutige Session ID bei Cookie > > Verweigerern immer von Seite zu Seite "mitschleift". Sei es als > > Hidden Field in Formularen oder als Parameter in der URL. > > > > Wie ich schon schrieb, ist aber genau das aus diversen Gründen eben > > nicht gewünscht. Und deshalb sind wir hier auch der Meinung, dass > > man das Problem unter den genannten Voraussetzungen gar nicht lösen > > kann. > > nein, ich habe keine Fallback-Lösung beschrieben, sondern den Test, > wie Du herausbekommst, ob jemand den Cookie nicht akzeptiert. Es geht > nicht darum, Daten permanent mitzuschleifen. ok, also eine Kleinigkeit hatte ich übersehen. Es ging Dir darum, die Session-Tabelle nicht vollzumüllen bzw. sauber zu halten. Damit Du die Prüfung, ob jemand Cookies akzeptiert, nur einmal durchführen mußt, kannst Du die Daten an einen Identifikationsschlüssel des Rechners koppeln und Dir diesen in der Datenbank merken. Wie man einen solchen Schlüssel am sinnvollsten zusammensetzt, ist hier ja schon einige Male diskutiert worden. Außerdem solltest Du die Referer-Informationen mit auswerten, weil Du daraus i.d.R. ersehen kannst, ob jemand von außen kommt oder Du ihn schon geprüft hast. Als weiter Information solltest Du die Session-Informationen in den Umgebungsvariablen auswerten, woraus Du erkennen kannst, ob die Session gerade neu angelegt wurde, oder bereits von der vorherigen Seite stammt. Die Daten unterscheiden sich geringfügig, weil auf der ersten Seite der Cookie noch nicht existiert, auf der zweiten aber sehr wohl. Mit diesen Informationen zusammen sollte es Dir gelingen, unnötige Mehrfacheinträge zu vermeiden bzw. wieder zu entfernen. Viele Grüße, Lutz
php::bar PHP Wiki - Listenarchive