Wie PHP die Arbeit mit Cookies verbieten?
Ralph
- php
0 Christian Seiler0 Emmi0 Ralph
Hallo,
da ja viele Anwender Vorbehalte gegen Cookies haben, möchte ich auf die Verwendung von Cookies auf meinen Seiten komplett verzichten. Wenn ich nun aber eine Session anlege, probiert PHP ersteinmal die ID in einem Cookie zu speichern. Das braucht es aber nicht, da ich die ID sowieso per GET-Methode weiterschleife.
Dies fabriziert bei bestimmter Konfiguration (z.B. zur Cookiebehandlung nachfragen) dann aber schon solche doofen Warnmeldungen im Netscape, dass die Seite versucht ein Cookie einzurichten. Diese Meldungen möchte ich vermeiden, indem ich PHP von vornherein mitteile, dass Cookies nicht in Frage kommen ohne dass es dies erst beim Anwender antestet. Wie geht das? Gibt es eine Funktion, die das erledigt?
Hallo Ralph,
Die ini-Einstellung session.use_cookies ist Dein Freund. Die kannst Du übrigens auch in Deinem Script mit ini_set *vor* session_start setzen.
Grüße,
Christian
Hallo,
da ja viele Anwender Vorbehalte gegen Cookies haben, möchte ich auf die Verwendung von Cookies auf meinen Seiten komplett verzichten. Wenn ich nun aber eine Session anlege, probiert PHP ersteinmal die ID in einem Cookie zu speichern. Das braucht es aber nicht, da ich die ID sowieso per GET-Methode weiterschleife.
Dies fabriziert bei bestimmter Konfiguration (z.B. zur Cookiebehandlung nachfragen) dann aber schon solche doofen Warnmeldungen im Netscape, dass die Seite versucht ein Cookie einzurichten. Diese Meldungen möchte ich vermeiden, indem ich PHP von vornherein mitteile, dass Cookies nicht in Frage kommen ohne dass es dies erst beim Anwender antestet. Wie geht das? Gibt es eine Funktion, die das erledigt?
Du mußt bei der Konfiguration der Session angeben, dass Du keine Cookies verwenden willst. Das geht über den $mode Parameter der Session Klasse, der auf "get" stehen muß (PHPLIB).
Du mußt bei der Konfiguration der Session angeben, dass Du keine Cookies verwenden willst. Das geht über den $mode Parameter der Session Klasse, der auf "get" stehen muß (PHPLIB).
Hi,ich hätte wohl dazu sagen müssen, dass ich PHP-Newbie bin. Also das ganze läuft auf einem Schlundserver und die PHPLIB ist dort glaube ich nicht installiert. Kann man die dann selbst doch noch irgendwie einbinden und wo kann ich die PHPLIB downloaden? Brauch ich die PHPLIB bei PHP4 überhaupt noch ?
Ausserdem will ich möglichst keine eigene Session definieren, sondern die Standard-Sessions von PHP4 nutzen. Kann ich da auch den $mode-Parameter umstellen, bevor ich die Session mit session_start() initialisiere?
Hallo Ralph, (Begrüßungen und Abschiedsfloskeln machen sich hier übrigens gut)
Du mußt bei der Konfiguration der Session angeben, dass Du keine Cookies verwenden willst. Das geht über den $mode Parameter der Session Klasse, der auf "get" stehen muß (PHPLIB).
Hi,ich hätte wohl dazu sagen müssen, dass ich PHP-Newbie bin. Also das ganze läuft auf einem Schlundserver und die PHPLIB ist dort glaube ich nicht installiert. Kann man die dann selbst doch noch irgendwie einbinden und wo kann ich die PHPLIB downloaden? Brauch ich die PHPLIB bei PHP4 überhaupt noch ?
PHPLIB brauchst Du für Sessions bei PHP4 nicht mehr, Du kannst auch die Standardsessions von PHP4 verwenden.
Ausserdem will ich möglichst keine eigene Session definieren, sondern die Standard-Sessions von PHP4 nutzen. Kann ich da auch den $mode-Parameter umstellen, bevor ich die Session mit session_start() initialisiere?
Den $mode-Paramter gibt es nur bei PHPLIB. Wie Du es bei den Standard-Sessions von PHP4 machst, hab' ich in meinem anderen Posting erläutert.
Grüße,
Christian
Hallo Christian,
danke funktioniert. Ich wusste nicht, dass man bei Schlund auf die php.ini zugreifen kann. Wie lange gilt diese Anweisung? Ich muss Sie glaube ich auf jeder Seite dann wieder vor die Session setzen, stimmt das?
Hallo Ralph,
Ich wusste nicht, dass man bei Schlund auf die php.ini zugreifen kann.
Kann man auch nicht. ini_set setzt nur das Laufzeit-Verhalten fest. Daher kann man mit ini_set z.B. Dinge wie register_globals, die *vor* einem Script passieren, nicht beeinflussen. Am Ende des Scripts gehen alle Veränderungen "verloren".
Wie lange gilt diese Anweisung?
Schau' im Manual nach. (bestimmt seit PHP 3)
Ich muss Sie glaube ich auf jeder Seite dann wieder vor die Session setzen, stimmt das?
Ja, vor jedem session_start (); Am besten, Du packst das session_start einfach in ein Script, setzt davor das ini_set und include()es die Datei dann immer.
Grüße,
Christian