Jump to content

1.4.0.17 commande : bug seccure_key et erreur dans validation.php fatal error


Recommended Posts

Lors du processus de commande, lors du paiement par chèque, au moment de la confirmation j'ai le message :
Fatal error

Un message plutôt laconique et déroutant . car issu d'une instruction displayError()) sans aucune indication pour simplifier la recherche d'erreur alors qu'une simple information sur le nom du script et éventuellement dans le log d'erreur nous simplifierait la tache !


En examinant les appels et le code je vois qu’il y a un problème de valeur de secure_key

dans le fichier classes/PaymentModule.php
dans la fonction validateOrder();

lignes

// Does order already exists ?
       if (Validate::isLoadedObject($cart) AND $cart->OrderExists() === 0)
       {
           if ($secure_key !== false AND $secure_key != $cart->secure_key)
               die(Tools::displayError());

$secure_key (=$customer->secure_key) et $cart->secure_key sont différentes


la valeur de $cart->secure_key est -1

Dans la table ps_cart toutes les valeurs de secure_key sont à -1 sauf pour des nouveaux clients !!

Ce qui oblige à mettre à jour la table en régénérant les valeurs secure_key à partir de la table customer.

Qui a ce problème ?

Link to comment
Share on other sites

  • 2 weeks later...

J'ai le même problème et pas que pour les chèque
Il en est de même avec les paiements par virement et à la livraison

Dans ma base de données, les valeurs secure key varient
sur mon compte test mes 1ers panier (avec l'ancienne version de presta 1.3.6) la valeur était à -1 mais maintenant j'ai un mélange de chiffres et de lettres

Pour un site de vente en ligne c'est gênant de pas pouvoir accéder à ces modes de paiements

HELP ! Merci

Link to comment
Share on other sites

Bonjour,
j'ai également ce problème, le module paiement chèque
ne fonctionne pas. version 1.4.1 = internal server error
(j'imagine que le module virement doit avoir le même probleme)
quelqu'un a une solution ?
c'est quand très génant de ne pouvoir se faire payer sur une boutique en ligne !!
merci

Link to comment
Share on other sites

j'ai changé l'autorisation en 755 au lieu de 777 précédement,
sur le dossier modules de manière récursive et cela a résolu
le problème. Mais je pense que c'est peut être spécifique à mon hebergeur qui n'aime pas
les chmod 777(Mavenhosting ) ?
J'espère que cela resoudra aussi votre problème ...

Link to comment
Share on other sites

Bon après des recherches dans le bug tracker et la version svn de la 1.4, le problème vient de la classe /classes/Cart.php à la ligne 146. La secure_key n'était pas bien testée.

Pour résoudre le problème sur la 1.4.1 il faut remplacer :

if (!$this->secure_key AND $customer->secure_key)


par

if ((!$this->secure_key OR $this->secure_key == '-1') AND $customer->secure_key)



Pour moi ça fonctionne.

Link to comment
Share on other sites

Bonjour, cela ne marche pas chez moi, une idée pour ce qu je dois faire, voici mes messages d 'erreur.

J'ai environ une 30 aines de messages d' erreur: (+ des autres fichiers apres web/modules/…)

Warning: file_put_contents(/var/www/clients/client2/web12/web/modules/dejala/config.xml) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/clients/client2/web12/web/classes/Module.php on line 988

Link to comment
Share on other sites

Bonjour, cela ne marche pas chez moi, une idée pour ce qu je dois faire, voici mes messages d 'erreur.

J'ai environ une 30 aines de messages d' erreur: (+ des autres fichiers apres web/modules/…)

Warning: file_put_contents(/var/www/clients/client2/web12/web/modules/dejala/config.xml) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/clients/client2/web12/web/classes/Module.php on line 988


Apparemment il y a d'autres problèmes liés à l'hébergement (il n'a pas la permission d'ouvrir le fichier) ou au module dejala. ça ne doit plus être le même problème.
Link to comment
Share on other sites

  • 2 weeks later...

Bonsoir,

Je pense que c'est un avertissement " danger contre pirate "
si vous laissez un fichier en 777 vous pouvez vous faire pirater votre site car vous donnez libre accès aux hackers ( en écriture totale de l'extérieure) donc descendez vous valeur à 666 ou 604 et là vous aurez sécurisez votre module de paiement.
Moi je n'ai aucun souci dans ce sens.
Je pourrai retourner vérifier en combien j'ai mis mes fichiers sur mon serveur.
Espérant que cela vous aide !

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...