Astuces les plus consultés

samedi 3 décembre 2011

Invalid Token Erreurs dans Joomla 1.5.X & 1.6.X


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