J’ai déjà eu à rencontrer cette erreur sur quelques sites faits avec
Joomla aussi dans la version 1.6 que la 1.5. Cette erreur a causé bon nombre de
sujets dans les forums. Non pas seulement sur Joomla, mais aussi dans la
plupart des développements d’extensions. Dans ce blog, j’espère enfin éclaircir
le sujet, afin que quelques uns puissent se reposer de leurs maux de tête.
Que sont les Tokens en
bref ?
Les Tokens sont apparus pour la 1ère
fois dans Joomla 1.5.3. Ils ont été ainsi introduits comme un dispositif de
sécurité pour les formulaires. Pour chaque formulaire soumis dans un site
Joomla, un jeton (token) est recquis pour la validation. Si ce dernier venait à
manquer ou serait incorrect, vous recevez une erreur : Invalid Token. Ceci
est une bonne chose dans la mesure ou cela déjoue les spams et les tentatives
de hacking.
Qu’est ce que cela
implique comme changement ?
Tous les formulaires dans Joomla sont
affectés par cela. Cette erreur est plus observé dans le formulaire de
connexion et d’enregistrement, qui sont les plus utilisés. Je vais
particulièrement m’apesantir sur le
formulaire de connexion sur ce post. Mais la solution est applicable à tout
type de formulaire.
Pourquoi recevons nous
l’erreur Invalid Token ?
A. Jetons Absents ou
Token Absents
L’erreur du jeton absent peut être
résolu en mettant à jour à la dernière version de Joomla. Mais au cas ou vous
auriez un template qui écrase le formulaire de Joomla, le formulaire de
connexion est presque toujours écrasé. Puis vous avez juste à éditer le nouveau
formulaire en y ajoutant une ligne, histoire d’inclure le token ou jetons.
echo JHTML::_(
'form.token' );
*Note pour Joomla 1.6.X
La vérification du jeton a bien été
ajouté au formulaire de déconnexion pour Joomla 1.6.1, donc si vous upgradé de
1.6.0 à 1.6.1, vous devrez faire face à cet étape quand vous vous deconnectez
du site. Dans ce cas, vous avez besoin d’ajouter la ligne ci-dessus sur le
formulaire de déconnexion.
Ajouter le jeton au formulaire de
deconnexion à mon avis a causé une petite douleur. Depuis que le jeton a été
associé au formulaire de déconnexion, si vous avez simplement crée un menu de
déconnexion ou un lien, celui-ci ne marchera pas, à moins que vous ayez le
module de connexion publié sur toutes les pages. Donc le module de connxion
doit être publié sur toutes les pages pour éviter cela.
B. Tokens ou Jetons
Invalides
Au cas ou vous utiliseriez un quelconque
système cache, alors vous ferez face à cette étape. Une des solutions est de
s’assurer que votre module de connexion est réglé à « Pas de cache ».
Autre chose que vous seriez peut être appelé à vérifier, c’est que votre plugin
système de mise en cache des pages est
désactivé. Le système de gestion du cache de Joomla, ne met en cache qu’une
portion de votre site.
Jespère que cette publication vous aura
aidé à comprendre votre problème de jeton invalide !
Aucun commentaire:
Enregistrer un commentaire