[Résolu] Comprendre Security error : invalid or expired token

jack31jack31 Member
septembre 2016 modifié dans Entraide
Bonjour à tous, :)

En essayant d'intégrer des scripts dans l'admin de mon plugin, je rencontre souvent l'erreur "invalid or expired token".

Ayant lu la doc, j'ai compris qu'elle peut se manifester quand on veut intégrer un formulaire ou quelque chose comme cela, et je voudrais comprendre le processus afin d'adapter mes applications et les faire fonctionner correctement.

Une petite explication qui m'irait bien peut-être ?

Réponses

  • Pas de spécialistes dans le coin ?

    J'aimerais assez une réponse car j'ai pas mal avancé mon travail et j'en ai maintenant vraiment besoin.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    Pour passer le contrôle du formulaire et ne pas avoir le message d'erreur, il faut dans le formulaire de la page rajouter un champ caché qui contient un token de sécurité généré par pluxml.

    Voici la syntaxe. Cette ligne est à copier où tu veux entre les balises <form> </form>. C'est elle qui va rajouter le champ caché contenant un token de sécurité.
    <?php echo plxToken::getTokenPostMethod() ?>
    

    Lorsque le formulaire est soumis, la page qui va traiter les données envoyées doit contenir la ligne suivante
    plxToken::validateFormToken($_POST);
    

    Cette ligne va valider le contenu du champ caché envoyé en meme temps que le formulaire. La validation du token permet de s'assurer que les données proviennent bien de la page hébergée sur le site et non pas d'un autre site où quelqu'un essayerait d'injecter des données corrompues ou d'en récupérer à des fins malveillantes.

    Tu peux par exemple regarder comment sont utilisées ces 2 lignes et où je les ai placées dans un de mes plugins, comme ici

    https://github.com/Pluxopolis/plxMySearch/blob/master/config.php

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Je te remercie Stéphane.

    Je vais travailler cela et enfin pouvoir arriver à mon résultat. :)
Connectez-vous ou Inscrivez-vous pour répondre.