phpbar.de logo

Mailinglisten-Archive

[php] Prüfen ob Browser Cookies annimmt

[php] Prüfen ob Browser Cookies annimmt

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Fre Nov 23 10:54:38 CET 2007


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