phpbar.de logo

Mailinglisten-Archive

[php] Prüfen ob Browser Cookies annimmt

[php] Prüfen ob Browser Cookies annimmt

Yannik Hampe yannik at cipher-code.de
Fre Nov 23 10:48:26 CET 2007



Ralf Eggert wrote:
> Moin Liste,
> 
> ich stehe hier vor einem Problem. Und zwar bekommt jeder Besucher eine
> Session zugewiesen und einen Cookie zugesandt. Funktioniert prima für
> alle eingeloggten User und alle anderen, die Cookies akzeptieren. Ein
> Problem stellen aber die Cookie Verweigerer dar.
> 
> Bei jedem Nutzer, der keine Cookies akzeptiert, wird nämlich bei jedem
> Request eine neue Session erstellt und ein neuer Cookie versandt. Das
> müllt natürlich meine Sessiontabelle voll.
> 
> Das Anhängen der Session ID an die URL ist genauso wenig gewünscht, wie
> ein Fallback Mechanismus, der einen Cookie setzt und dann selbige Seite
> erneut aufruft, um den Cookie zu prüfen (müsste dann ja auch bei jedem
> Seitenaufruf wiederholt werden).
> 
> Kann man also prüfen, ob ein Browser keine Cookies annimmt, ohne die
> genannten Voraussetzungen? Dafür müsste man dann wahrscheinlich auf ein
> anderes Identifikationsmerkmal als einen Cookie zugreifen können, oder?

Du kannst mithilfe des Referers prüfen, ob eine Anfrage bereits von 
deiner Seite kommt. Wenn ja, dann sollte eine Cookie mit der sessionid 
mitgeliefert sein. Wenn nein, dann weist der Browser cookies ab.
"Failsafe" ist die Methode allerdings auch nicht gerade. Sie sollte 
deine sessiontabelle aber trotzdem stark entlasten :-).

(es fragt sich natürlich auch, wieso du überhaupt eine session 
erstellst, wenn du sie dann sowieso nicht brauchst)
> 
> Wir sind hier der Meinung, dass man dieses Problem gar nicht lösen kann,
> lassen uns aber gerne eines Besseren belehren.
> 
> Gruß,
> 
> Ralf

Yannik

php::bar PHP Wiki   -   Listenarchive