Yann Marec Posted April 16, 2020 Share Posted April 16, 2020 Bonjour à tous, depuis le confinement ma boutique physique étant fermée je travaille sur l'ouverture d'une boutique en ligne. Mais depuis lundi, j'ai énormément de soucis car j'ai sans arrêt l'erreur "Jeton (token) invalide: accéder à ce lien peut entraîner un éventuel problème de sécurité." qui apparait lorsque je valide une fiche ou lorsque je navigue dans le back-office. L'erreur n’apparaît pas à chaque changement de page mais très très souvent. Mon site est hébergé chez OVH, je leur ai demandé s'il y avait eu des problèmes de leur coté mais je n'ai pas encore de réponse. Jusqu'à hier, j'arrivais encore à avancer en utilisant le partage de connexion 4G de mon téléphone car j'ai remarqué que l'erreur arrivait beaucoup plus souvent en étant connecté sur ma ligne adsl free. Mais depuis ce matin, aucune différence, l'erreur arrive une page sur deux, que ce soit en 4G ou adsl. Est ce que je suis le seul à rencontrer ce genre de problème ? Est-ce que quelqu'un aurait une solution, même temporaire ? j'ai essayé de désactiver le contrôle de token mais sans succès (dans mes recherches internet j'ai trouvé des pistes parlant de modifier la méthode isLoggedBack de la classe Employee mais je ne vois pas d'amélioration). Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 16, 2020 Share Posted April 16, 2020 Bonjour, essayez d'effacer les cookies de votre navigateurs. Link to comment Share on other sites More sharing options...
Yann Marec Posted April 16, 2020 Author Share Posted April 16, 2020 Bonjour, j'ai déjà essayé, mais le problème persiste, que ce soit avec une navigation privée, firefox ou chrome ou sur d'autres ordinateurs. Link to comment Share on other sites More sharing options...
Webmain Posted April 16, 2020 Share Posted April 16, 2020 Bonjour, Cela n'est pas très grave. Une simple alerte de sécurité, car ta session est actif trop longtemps. Tu peux te rendre dans la partie administration de ton back office. Paramètre avancée -> administration désactiver cette option https://gyazo.com/ecd7a9ca49a61138c580c05b8f7c9ba0 Ensuite tu pourra la réactiver par la suite. Ton compte est utiliser par une autres personnes ou te te connecte ailleurs avec ce compte ? Cordialement. Link to comment Share on other sites More sharing options...
Yann Marec Posted April 16, 2020 Author Share Posted April 16, 2020 Merci pour ta réponse. Mais j'ai déjà désactivé cette option et toujours le même problème. Et ce n'est pas un problème de temps de session, le problème peut arriver au bout de quelques minutes. Et j'ai beau cliqué sur "oui, je comprends les risques" ou "sortez-moi d'ici", me déconnecter, me reconnecter, le problème persiste. Et comme je disais, j'ai fait les tests en normal, en navigation privée, sur plusieurs navigateurs et sur plusieurs pc, toujours le même soucis Link to comment Share on other sites More sharing options...
cycy Posted April 16, 2020 Share Posted April 16, 2020 Hello, peut être regarder ce qu'il se passe du côté /classes/Tools.php, tu verras la méthode getToken(); qui génère un jeton en cryptant un cookie. https://www.blmodules.com/prestashop-tutorials-users/prestashop-quick-access-fix-invalid-security-token/#.XphUncgzaUk peut être que ceci pourra t'aider ?? Link to comment Share on other sites More sharing options...
Webmain Posted April 16, 2020 Share Posted April 16, 2020 Tu doit avoir un module qui fait que ce problème persiste. Sa m'arrive sur certains site client mais pas à arriver régulièrement. Tu es sous quel version de la 1.7 ? Link to comment Share on other sites More sharing options...
Webmain Posted April 16, 2020 Share Posted April 16, 2020 ton dossier ou sont stocker tes token sont bien en ecriture lecture ? Link to comment Share on other sites More sharing options...
GuimDotcom Posted April 16, 2020 Share Posted April 16, 2020 Est-ce que sur ton serveur tu as Nginx ? J'avais eu ce problème réglé comme cela : Link to comment Share on other sites More sharing options...
Yann Marec Posted April 16, 2020 Author Share Posted April 16, 2020 Merci pour vos réponses. J suis sur prestashop 1.7.5.2, hebergé en mutualisé sur ovh, sur un apache. Au niveau des modules, j'ai uniquement ajouté 1-click upgrade, mais il y a plus de 6 mois et je m'en suis pas servi depuis. Au niveau des tokens, ils sont stockés dans quel répertoire ? Guim, la solution consiste en quoi ? modifier la version php utilisée ? actuellement, je suis en 7.2 Link to comment Share on other sites More sharing options...
Webmain Posted April 16, 2020 Share Posted April 16, 2020 Ok, tu peu passer en php 7.1 pour l'instant. Prévois également une mise a jour vers 1.7.6.4 pour des raisons de sécurité. Link to comment Share on other sites More sharing options...
Yann Marec Posted April 16, 2020 Author Share Posted April 16, 2020 (edited) je suis passé en php 7.1 mais toujours les mêmes problèmes. J'ai de sérieux doutes sur ovh, je soupçonne une modif au niveau serveur mais pour le moment je n'arrive pas à avoir l'info avec le support, ils me disent que le site est bien accessible. C'est en effet le cas pour le front, il n'y a aucun problème. Le problème se situe bien dans le back où cette p... de page token invalide apparait un clic sur deux. Quelqu'un saurait comment désactiver temporairement cette vérification de token, histoire que nous puissions avancer sur la création des fiches produit en attendant d'avoir une réponse sérieuse de la part d'ovh. J'ai cherché un peu dans le code de prestashop mais pour le moment sans succès. J'envisage de rapatrier tout le site en local pour que nous puissions créer les fiches (on aurait aimer ouvrir le site assez rapidement en version clic-n-collect pour compenser un peu la perte d'activité de notre fermeture de boutique, mais 3000 fiches à créer et cette ano ne nous aide franchement pas) mais j'aurais aimé éviter parce que j'ai peur de perdre un temps fou à resynchroniser le presta de prod avec les données locales. Edited April 16, 2020 by Yann Marec (see edit history) Link to comment Share on other sites More sharing options...
Webmain Posted April 16, 2020 Share Posted April 16, 2020 Viens en privée je peu jetez un oeil si tu veux. Le mutualiser c'est à fuir. Link to comment Share on other sites More sharing options...
GuimDotcom Posted April 16, 2020 Share Posted April 16, 2020 Dans le doute essaye de rajouter ça : if(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){ $_SERVER['HTTPS']='on'; } Juste après la balise ouvrante PHP dans ton fichier adminxXxXxXXxxX/index.php Link to comment Share on other sites More sharing options...
Yann Marec Posted April 16, 2020 Author Share Posted April 16, 2020 2 hours ago, GuimDotcom said: Dans le doute essaye de rajouter ça : if(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){ $_SERVER['HTTPS']='on'; } Juste après la balise ouvrante PHP dans ton fichier adminxXxXxXXxxX/index.php Même si j'ai pas bien compris le code j'ai tenté le coup mais toujours pareil Link to comment Share on other sites More sharing options...
Yann Marec Posted April 16, 2020 Author Share Posted April 16, 2020 je continue à fouiller dans le code de prestashop et j'ai fait "évoluer" mon problème. Dans la classe PrestaShopBundle\EventListener\TokenizedUrlsListener, méthode onKernelRequest, j 'ai commenté toute la partie vérifiant le token : /* $token = false; if ($request->query->has('_token')) { $token = new CsrfToken($this->username, $request->query->get('_token')); } elseif (isset($request->query->get('form')['_token'])) { $token = new CsrfToken('form', $request->query->get('form')['_token']); } if (false === $token || !$this->tokenManager->isTokenValid($token)) { // remove token if any if (false !== strpos($uri, '_token=')) { $uri = substr($uri, 0, strpos($uri, '_token=')); } $response = new RedirectResponse($this->router->generate('admin_security_compromised', ['uri' => urlencode($uri)])); $event->setResponse($response); }*/ je n'ai plus la page token invalid qui apparait, mais à la place, lorsque je valide un formulaire de création de produit, j ai le message d'erreur suivant qui apparait et le form n'est pas validé : "The CSRF token is invalid. Please try to resubmit the form." Est-ce que ça vous dit qqchose ? Link to comment Share on other sites More sharing options...
bedford Posted April 17, 2020 Share Posted April 17, 2020 Je n'ai pas la solution mais j'ai le même problème. Depuis quelques jours ce message dans le backoffice. J'ai la version 1.7.6.4 en local, sur un serveur wamp et également 1 click upgrade et 2 autres modules (dont 1 perso). Comme c'est mon premier prestashop et que je suis en train de développer dessus, je me suis las trop posé la question. Je ne pense pas que ce soit du côté de l'hébergeur mais plus un soucis ps. J'essaye de regarder tout à l'heure si je trouve une solution. Dans tous les cas après 12 années OScommerce, je t'avoue que je n'arrive absolument pas à avoir confiance en ps. J'ai l'impression qu'on essaye de faire joli au détriment de la stabilité...mais c un avis perso Link to comment Share on other sites More sharing options...
bedford Posted April 17, 2020 Share Posted April 17, 2020 Si ça peut aider... je vais tenter ça tout à l'heure Link to comment Share on other sites More sharing options...
Janett Posted April 19, 2020 Share Posted April 19, 2020 Tentez de desinstaller le module ps_mbo, il était fautif dans mon cas. Link to comment Share on other sites More sharing options...
kerlin Posted April 19, 2020 Share Posted April 19, 2020 bonjour, J'ai régulièrement ce souci sur des sites hébergés en mutu chez OVH. Pas de CDN activé ? Link to comment Share on other sites More sharing options...
Yann Marec Posted April 19, 2020 Author Share Posted April 19, 2020 non, pas de CDN activé. Les réponses d OVH sont toujours les mêmes, c'est un problème de prestashop donc débrouillez-vous. Depuis ma dernière modif c'est quand même plus simple car j'ai pas la page d'erreur un clic sur deux. Mais par contre, je reste persuadé qu'il y a un lien avec l'hébergement, j'ai beaucoup moins de soucis ce week-end en travaillant toute la journée. Et les seules fois où j'ai un message d'erreur, c'est en uploadant des images : HTTP 502 - NGINX Error ... alors que je suis sensé être sur un apache... je verrais demain, voir si c est pas un problème de surcharge de serveur mutualisé. Link to comment Share on other sites More sharing options...
kerlin Posted April 19, 2020 Share Posted April 19, 2020 Oui, malgré ce qu'ils en disent, le problème vient de chez eux. Pour un même site dont la version de test est sur un autre hébergement (O2Switch pour ne pas les citer) et la version en ligne sur un mutu OVH, j'ai le problème sur le site en ligne et pas sur le site de dev. Cherchez l'erreur ... Les mutu chez eux ne sont pas taillés pour du Prestashop ... Link to comment Share on other sites More sharing options...
bedford Posted April 20, 2020 Share Posted April 20, 2020 Sur Firefox, j'ai cleané tous les cookies, le cache, les mots de passe enregistrés et finalement je n'ai plus l'erreur. Difficile de dire ce qui a pu se passer (un cookie ou autre) mais dans mon cas je n'ai plus d'erreur. En espérant que ça puisse t'aider. Link to comment Share on other sites More sharing options...
david. Posted May 27, 2020 Share Posted May 27, 2020 (edited) Bonjour, Même problème avec Prestashop 1.7.6.5, sur ovh performance 1, cluster 028. La solution, dans le fichier : /vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php Ajouter le return; dans : public function buildForm(FormBuilderInterface $builder, array $options) { return; if (!$options['csrf_protection']) { return; } ——— Puis, mettre $defaultEnabled = false au lieu de true : public function __construct(CsrfTokenManagerInterface $defaultTokenManager, $defaultEnabled = false, $defaultFieldName = '_token', T ——— Puis dans le fichier : /src/PrestaShopBundle/EventListener/TokenizedUrlsListener.php Ajouter return; comme ceci : public function onKernelRequest(GetResponseEvent $event) { $request = $event->getRequest(); return; if (TokenInUrls::isDisabled()) { return; } ——— Edité : ajout de ceci : Pour éviter une erreur « This form should not contain extra fields » lors de la création / modification de catégories, modifier dans le fichier : /vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php Vers la ligne 130, juste après //Mark the form with an error if it contains extra fields, ajouter /* et après } ajouter */ pour obtenir quelque chose comme ceci : // Mark the form with an error if it contains extra fields /* if (!$config->getOption('allow_extra_fields') && \count($form->getExtraData()) > 0) { $this->context->setConstraint($formConstraint); $this->context->buildViolation($config->getOption('extra_fields_message')) ->setParameter('{{ extra_fields }}', '"'.implode('", "', array_keys($form->getExtraData())).'"') ->setInvalidValue($form->getExtraData()) ->setCode(Form::NO_SUCH_FIELD_ERROR) ->addViolation(); } */ Pour moi ça a fonctionné. Gardez bien une copie des fichiers originaux avant modification. David. Edited June 3, 2020 by david. (see edit history) Link to comment Share on other sites More sharing options...
JayLab Posted October 20, 2020 Share Posted October 20, 2020 (edited) Hello, Simplement pour partager un cas de figure sur PS 1.7.6.4 : Un collaborateur upload une image comportant des accents sur une fiche produits. Impossible de mettre à jour la fiche produit. Affichage image buggué, impossible à supprimer. Suppression de la fiche produit -> création d'une nouvelle fiche produit -> retour à la normale. Je n'ai pas eu le temps de tester pour voir si il y a eu d'autres erreurs de type Jeton (token) invalide. Ni de corriger dans la base pour tester. Edited October 20, 2020 by JayLab (see edit history) Link to comment Share on other sites More sharing options...
cedib Posted January 13, 2021 Share Posted January 13, 2021 Bonjour @david., j'ai testé votre solution et cela fonctionne. Par contre l'enregistrement des modifs sur un produit prend beaucoup beaucoup plus de temps. Est-ce en lien avec les modifications de code ou est-ce que ça pourrait être autre chose? Merci Link to comment Share on other sites More sharing options...
david. Posted January 13, 2021 Share Posted January 13, 2021 5 minutes ago, cedib said: Bonjour @david., j'ai testé votre solution et cela fonctionne. Par contre l'enregistrement des modifs sur un produit prend beaucoup beaucoup plus de temps. Est-ce en lien avec les modifications de code ou est-ce que ça pourrait être autre chose? Merci Bonjour @cedib La lenteur n'est pas liée à la modification, car il désactive des choses, il n'en ajoute pas. Je pense que c'est dû à l'hébergement lui même, j'ai constaté des grosses lenteurs sur le cluster 28, qui au départ tournait bien avec le sql privé. Très franchement, si vous souhaitez héberger du prestashop chez ovh, il faudrait un VPS ou dédié avec plesk dessus, tout en acceptant que vous devrez attendre 10-15 jours en cas de soucis, à moins de prendre le support VIP. Pour mes nouveaux prestashop je vais chez o.......h (pas ovh), étant donné que j'ai signalé le problème il y a plusieurs mois et qu'il n'est pas toujours pas résolu. David. Link to comment Share on other sites More sharing options...
cedib Posted January 13, 2021 Share Posted January 13, 2021 Je n'utilise pas OVH, je suis sur Vultr. J'aurais pensé aussi que c'était un problème de serveur mais il est très bon. Ça ne peut pas venir de là. Merci Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now