Apache : Cookies bloqués par le navigateur si le serverName/hostname contient un underscore.

Cookies non pris en comptes avec IE et SAFARI.
dimanche 31 mai 2009
par  KreaComm’
popularité : 4%

Si vous cherchez depuis quelques heures pourquoi votre script utilisant les cookies ou sessions ne fonctionne pas sous IE alors que Opera et Firefox ne pose aucun problème et que votre nom de domaine contient un underscrore, ne cherchez plus !

Vous travaillez probablement en local (je n’ai pas encore vu de nom de domaine internet avec un underscrore) et vous configuré plusieurs sites dans votre configuration apache/IIS ; dans le serverName vous avez un nom de domaine du style http://kk_sitetest alors supprimez le _ (underscore) et tout rentrera dans l’ordre.

Testé sur une plateforme Windows :

- IE7 : FAILED !
- OPERA 9.64 : OK
- FIREFOX 3.0.10 : OK
- SAFARI 3.2.3 : FAILED !

La non prise en compte d’un cookie peut avoir diverses causes dont voici une liste non exhaustive :

- Trop grand nombre de cookies (lire : Internet Explorer increases the per-domain cookie limit from 20 to 50)
- nom du serveur utilisant des caractères invalides. Typiquement, Internet Explorer refusera de prendre en compte un cookie si le nom d’un serveur comporte un « _ » (« underscore ») …etc

Plus d’infos sur le net :
- Underscores are evil : IE may block SP from using session cookies
- Session Cookies - Bug in IE7
- http://blog.developpez.com/julienpa...
- Un bug dans IE concernant les sessions PHP
- Non prise en compte ou perte de cookie



Commentaires