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".

Créez votre boutique en ligne avec Joomla! 3 et HikaShop

Créez votre e-commerce

Apprenez à construire votre site web e-commerce étape par étape. Ce livre vous aidera toutes au long de la création de votre boutique en ligne.

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.

Apprenez à créer votre site web avec Joomla! 4 Le livre

Joomla! 4 Le livre

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!.

Assistance Joomla!

Icone assistance

Vous créez ou générez un site web et vous avec besoin de conseils ou d'une intervention afin de mener à bien votre projet. Contactez nous, nous pourrons rapidement vous assister par mail ou par téléphone.

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 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 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

Image by Annonceslegales from Pixabay