Movable Type [2.6.x] : problème de cookie
[MT version 2.6.x]
La fonction “se souvenir de mes informations”, dans le formulaire des commentaires, fait appel à un cookie qui stocke le nom, l’adresse courriel et l’URL du site Web. Cela évite au visiteur d’avoir à remplir de nouveau ces champs la fois suivante.
Le javascript gérant les cookies du template “Individual Entry Archive” enregistre le chemin complet (Path). Ainsi, un cookie enregistré sur la page http://www.xxx.net/blog/archives/000132.html ne fonctionnera que pour les pages issues du répertoire blog/archives.
Mais, sur mon carnet web, les archives individuelles sont stockées dans des dossiers distincts, comme “embruns.net/blogosphere” et “embruns.net/notes_du_carnet”.
Cela pouvait donner, par exemple, le cookie suivant :
Domain
.embruns.net
Expires
2004-12-03T16:19:51Z
Name
mtcmtauth
Path
/blogosphere
Value
Laurent
Résultat, la fonction “se souvenir de mes informations” ne marchait alors plus que pour les billets de la catégorie “blogosphère” !
Si vous rencontrez ce problème (lié à des archives individuelles stockées dans des dossiers séparés dans l’arborescence), il faut modifier cette partie du javascript dans le template “Individual Entry Archive” :
function rememberMe (f) {
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
setCookie(’mtcmtauth’, f.author.value, now, ’’, HOST, ’’);
setCookie(’mtcmtmail’, f.email.value, now, ’’, HOST, ’’);
setCookie(’mtcmthome’, f.url.value, now, ’’, HOST, ’’);
}
par :
function rememberMe (f) {
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
setCookie(’mtcmtauth’, f.author.value, now, ’/’, HOST, ’’);
setCookie(’mtcmtmail’, f.email.value, now, ’/’, HOST, ’’);
setCookie(’mtcmthome’, f.url.value, now, ’/’, HOST, ’’);
}
C’est ainsi désormais la racine de votre site qui est enregistré dans le cookie, et non le chemin.
François Granger
Merci du tuyau.
Tu pourrai mettre l’article complet dans ton fil RSS, s’il te plait ;-)
mat
Mmm, mais quel est l’interet de faire ca en javascript ? De toutes facons ca ne sert que quand un gars “submit” u formulaire, donc autant le faire coté serveur, non ?
aqb
Petit test de la mémorisation des cookies sous safari. (que tu peux bien entendu effacer sans vergogne)
aqb
C’est une conspiration! Cela marche sous Safari, mais pas sur le PC (IE, ni a priori FireBird). Tu aimes le mac mais tout de même ;)))
Laurent
Test…
Laurent
Test.
¥$
Ouaih, test…
¥$
Marche po ?
Blah ?