Kürzlich hatte ich das Problem, das der W3C-Validator XHTML-Dokumente in denen ich Session verwendet habe als ungültig markiert hat.
Nach kurzer Suche hatte ich mehrere Quellen ausfindig machen können, was die Ursachen dafür sein können:
1. '&' und '&'
In der php.ini des Webservers in unter dem Konfigurations-Attribut arg_seperator.output ist ein '&' eingetragen; laut dem W3C tolerieren XML-basierte User-Agents diese eigentlich falsche Nutzung des 'Ampersands' (&).
Mit der PHP-Funktion string ini_set(string varname, string newvalue) wird die Konfigurationsoption varname auf den Wert newvalue gesetzt.
Für die gegebene Problematik lautet die Anweisung also:
-
// Argument-Seperatorzeichen global festlegen:
2. transparente Session ID (SID)
Im Gegensatz zu cookie-basierten Session bieten SIDs in PHP eine niedrigere Sicherheit, sofern User-Zugriffe auf bestimmte Inhalte geschützt werden sollen. Mit einem weiteren Aufruf von ini_set() lässt sich die Session ID wahlweise transparent (default) oder non-transparent schalten, nicht zuletzt um HTML-Konformität zu erreichen.
-
// transparente Session ID ausschalten:
3. HTML-Tag ReWriting
Mit dieser Anweisung legt man fest, welche HTML-Tags bei der Verwendung von transparenten Session-IDs mit einer SID versehen werden (Re-Writing).
Dadurch, dass hier das Argument newvalue leer gelassen bleibt, wird durch das Re-Writing keine SID in den Code geschrieben und voila : HTML-konform.
-
// HTML-Tags festlegen, die eine SID erhalten:
Bei meinem Problem hat diese Methode in Verbindung mit der 2.ten den gewünschten Erfolg bei der W3-Validierung gebracht.
Update: Das W3C hat auch einen Artikel über PHP-Sessions und Ampersands veröffentlicht.
Posted in Developing, Tags:ampersand, html, php, session, validation, w3c, webstandards
Possibly Related Entries
Eine Seite
freshlabs journal is the bi-lingual weblog and digital playground of Tim Isenheim, designer and webdeveloper from Hamburg, Germany. More →
Recently Commented On
Recently updated
- 03/10/2010 WordPress Plugin: Digg Dugg
- 12/18/2009 About
- 11/26/2009 WordPress Plugin: SIMILE Timeline
- 03/05/2009 Awesome Digital Hologram Website Concept
- 11/07/2008 Gorillaz Holographics at EMA





One Response to “PHP-Sessions HTML konform”
Who's linking?