Firefox, localhost, cookies… salade.

Posté le Dimanche 25 juin 2006 à 20 h 16, Read it in english with Google

Allez pour me premier article je vais parler de firefox, enfin je vais plutĂ´t critiquer!!!
Après une prise de tĂŞte mĂ©morable de plusieur heure, je me suis aperçu que l’un de mes sites ne marchait pas en local sur firefox et sur ie alor qu’il marchait sur opera… quand c’est ça avec du php, c’est forcĂ©ment les cookies…

Après maintes vĂ©rification je m’aperçois que j’ai rĂ©cement changĂ© mon url, j’ai remplacĂ© http://127.0.0.1/ par http://localhost/ , question de pratique pour paypal (j’explique pourquoi ici). Et le problème venait bien de la : bien que dĂ©finissant les paramètres de cookies sur l’host « localhost », firefox refuse de le mĂ©moriser…

après quelques modification sur mes virtualhost il s’avère que firefox refuse tout cookie venant d’un host sans extension :
http://chezmoi/ => non accepté
http://chezmoi.h/ => accepté

voila 2-3h de galère parce que certain sont pas fichu de penser qu’on peut avoir un site chez soi.
bon je critique firefox mais soyons bien d’accord que IE6 fait pareil mais lui n’est mĂŞme pas dans la course :)

5 réponses à “Firefox, localhost, cookies… salade.”

  1. Wlady

    Salut,

    je trouve domage que tu penses que c’est IE et firefox qui ont le bug… alors que c’est le contraire.
    Pour ton cookie , il faut prĂ©ciser le chemin c’est Ă  dire que la fonction php :

    - setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

    Ă  defaut (en local) stocke le cookie sur « localhost » et « /tondossier_dans_lequel_se_trouve_ton_fichier_appelant_la_fonction_setcookie/ »

    il suffit de regarder le contenu du cookie avec firefox, tu verras dans le domaine localhost.
    s’il ne s’y trouve pas c’est que dans le parametre « int expire » , tu as du mettre une valeure negative telle que : time()-3600

    pour assigner le cookie Ă  tous les sous domaines ou sous dossiers de « localhost » il suffit de mettre « .mondomaine.com » ou dans le cas de « localhost » => « ./ »

    voilĂ … sinon commnent j’aurait dĂ©veloppĂ© mon moteur de recherche

  2. Wlady

    Si la rĂ©cupĂ©ration des cookies se passe Ă  la racine du site « http://localhost/ » alors il faut prĂ©ciser simplement « / » dans le parametre [string path] lors du stockage avec setcookie()

  3. XoraX

    je ne sais pas sur quel versions de firefox tu travaille actuellement mais je peux t’assurer que la versions la plus rĂ©cente il y a 6 mois n’acceptait pas les cookie provenant d’un hote sans « . » dans le nom.

    Si je me rapel bien j’ai rouillĂ© une bonne demi-dixaine d’heure pour trouver ce qui n’allait pas sur firefox et IE alors que tout marchais bien sur opera 9. et dès que j’ai remplacĂ© l’hote « localhost » par « nimportekoi.nimp » ça a marchĂ©.

    Je ne sais pas ce qu’il en est sur les versions actuelles mais vu ce que tu dis, ils ont du rĂ©soudre le problème.

  4. paroiron

    Bonjour,
    en ravaillant sur un intranet, j’avais le mĂŞme problème, et effectivement en lançant l’intranet Ă  partir de 127.0.0.1 au lieu de localhost, le cookie s’Ă©crit bien! Je prĂ©cise que mon set_cookie prĂ©cisait bien un temps de validitĂ© et un chemin « / ».
    Merci!

  5. seb

    j’ai un pb avec un logiciel qui fonctionne avec firefox et locaolhost.
    rien ne s’affiche. que faire ??

Laissez un commentaire :