Comment corriger l'erreur Invalid Token de Joomla!

Comment corriger l'erreur Invalid Token de Joomla!

En tant qu'utilisateur Joomla!, vous avez peut être déjà rencontré l'erreur "Invalid Token" lorsque vous souhaitez vous connecter sur votre site, et vous vous êtes probablement posé des questions à propos de cette erreur.

Dans ce tutoriel, nous allons regarder ce qu'est cette erreur, et comment la résoudre. A l'inverse des autres solutions que vous pourrez trouver, nous n'allons pas modifier ni même toucher les fichiers core de Joomla!, cela n'altérera donc pas la sécurité de votre site Joomla!.

Qu'est-ce que Invalid Token ? Et pourquoi cela arrive-t-il ?

Joomla! ajoute des jetons (tokens) de sécurité aux formulaires. Ces jetons de sécurité protègent les sites web de la plupart des attaques CSRF (Cross Site Request Forgery).

Lors d'un accès à une page, si le jetons n'est pas valide, l'erreur est affichée.

Malheureusement, il arrive parfois que des faux négatifs se produisent pour des utilisateurs légitimes. Voici quelques raisons de la présence de faux négatifs :

  • Un utilisateur accède à la page d'administration, puis se connecte. Lors de la connexion le message "Invalid Token" apparait.
  • Un utilisateur a un onglet de navigateur ouvert avec une page de connexion à laquelle il a accédé la veille. Il essaie de se connecter et obtiens le message "Invalid Token".
  • Un utilisateur clique sur un lien promotionnel contenant un champ email. Il complete le formulaire et obtient le message "Invalid Token".

Quelques étapes permettant de reproduire l'erreur

La manière la plus simple pour reproduire l'erreur est de suivre ces étapes :

  1. Ouvrez une page de connexion.
  2. Dans un autre onglet du même navigateur, ouvrez la même page de connexion et connectez-vous.
  3. Retournez sur le premier onglet puis connectez-vous. Vous obtiendrez le message "Invalid Token".

Redirection des sous domaine

À moins que vous ayez besoin d'un sous domaine, assurez-vous que votre site n'utilise "qu'un seul" domaine.

Par défaut, la plupart des hébergeurs web font que vous pouvez accéder à votre site avec ou sans les www. Assurez-vous d'en rediriger un vers l'autres. Le choix de l'un ou de l'autre n'a aucune importance. Pour faire cela, vous pouvez suivre le tutoriel Joomla! avec ou sans www.
De plus, cela vous permettra d'optimiser le référencement de votre site Joomla! en limitant le dupplicate content qui n'est pas apprécié par les moteurs de recherche.

Cette astuce vous permet de régler la majorité des problèmes "Invalid Token" rencontrés sur la partie administration.

Augmenter la durée des sessions

La durée des sessions détermine la durée de temps durant laquelle un utilisateur reste connecté lorsqu'il est inactif. C'est une fonctionnalité de sécurité au cas où quelqu'un resterait connecté sur un ordinateur publique, par exemple.

Pour l'exemple, disons qu'un administrateur laisse la durée des sessions sur 15 minutes. Si un utilisateur se connecte et reste 15 minutes inactif, Joomla! va le déconnecter.

Imaginons un utilisateur qui est en train de remplir un formulaire (comme un article, un module ou un élément de menu), qu'il est interrompu par un membre de sa famille et qu'il revient 20 minutes plus tard. Lorsqu'il va soumettre son formulaire (enregistrer son article, module, élément de menu...) il va obtenir le message d'erreur "Invalid Token". La raison est que le jeton n'est plus valide car la session a automatiquement été fermée par Joomla!.

Voici 2 points à prendre en considération avant d'augmenter la durée des sessions :

  • Votre site comporte-il des données sensibles ?
  • Vos utilisateurs (les administrateurs) se connectent-ils à partir de lieux publiques (comme les ordinateurs des bibliothèques publiques, par exemple) ?

Sur un de nos sites, nous avons une durée de session de 2880 (minutes), ce qui représente 2 jours. Vous devez régler ce paramètre en fonction de vos utilisateurs.

Augmenter la durée des sessions va faire diminuer le nombre des messages "Invalid Token" pour les utilisateurs légitimes.

Un message plus amical 

Le message "Invalid Token" prête à confusion, et est frustrant. La majorité des utilisateurs ne savent pas ce que cela veut dire.

Nous pouvons intercepter le message en utilisant le plugin Invalid Token Interceptor. Téléchargez simplement et installez-le.

Après l'installation, allez dans :

  • Extensions > Plugins.
  • Recherchez le plugin "System - Invalid Token Interceptor" puis éditez-le.
  • Réglez le statut sur Activé puis ajoutez votre message.
  • Enregistrez-et fermez

Essayez ensuite de reproduire l'erreur comme nous l'avons vu ci-dessus, vous devriez obtenir une page 404 avec votre message personnalisé. La navigation du site est également affichée.

Contacter le développeur

Si le message "Invalid Token" apparait sur certaines extensions, contactez le développeur.

Demandez-lui de s'assurer que ses formulaires ajoutent bien des jetons de sécurité. Vous pouvez lui joindre la documentation Joomla!.

Conclusion

Le message "Invalid Token" est une partie de la sécurité de votre site Joomla!, même s'il gène parfois les utilisateurs légitimes.

En utilisant une des solutions ci-dessus, vous pourrez atténuer cette gène.

La boutique

Trucs @ Astuces Joomla! 3Le livre 100 Trucs & Astuces pour Joomla! 3
vous permet de faire les bons choix parmi ceux qui s'offrent à vous lors de la création de votre site web ou lors de l'ajout de fonctionnalités ou d'extension grâce à de simple conseils, de vous simplifier la tâche grâce à des astuces et des mini-tutoriels pour gagner du temps dans la gestion de votre site Joomla!, ainsi que dans l'organisation de sa sécurité, son référencement, ses performances, et bien plus encore.

La dernière requête a été rejetée car elle contenait un identifiant de sécurité invalide. Veuillez actualiser la page et réessayer.

Suivant les cas, et également si vous utilisez le pack de langue Fr sur votre site, le message d'erreur "Invalid Token" peut être le suivant :

La dernière requête a été rejetée car elle contenait un identifiant de sécurité invalide. Veuillez actualiser la page et réessayer.

La démarche est également la même que celle que nous avons vu dans ce tutoriel.

 

Note : cet article est une traduction de l'article Solving the Invalid Token Error in Joomla

Notez cet article:
4
Comment ne plus envoyer les mots de passe dans vos...
Afficher les logos de manière facile, flexible et ...

Commentaires 2

 
marie-louise le mercredi 27 janvier 2016 13:33

Merci, très intéressant comme toujours :)

Merci, très intéressant comme toujours :)
Simon le mercredi 27 janvier 2016 13:55

Bonjour,

Marie-Louise et merci pour le commentaire !

Bonjour, Marie-Louise et merci pour le commentaire !
Déjà inscrit ? Connectez-vous ici
Guest
jeudi 17 août 2017
Si vous souhaitez vous inscrire, veuillez saisir un nom d'utilisateur, mot de passe et nom.

Image Captcha

Sur ce site, nous utilisons des cookies.