Jump to content

Script recaptcha Doekia/Eolia et PS 1.6.0.14


Recommended Posts

Bonjour à tous et surtout à Doekia et Eolia :-)

Suite à mon post ici 

 où j'avais une erreur lors du remplissage du formulaire d'inscription au début de la commande, je viens demander si le script est compatible 1.6.0.

J'ai réinstallé le script donc avec ce qu'il faut dans index.php, header.tpl + class des form dans contact-form et authentication.tpl (dans ce dernier, j'ai 3 form, j'ai du coup mis la class sur les 3)

Sur le site de test, sur lequel on ne pouvait s'inscrire (sans commande) car il y avait une page not human, maintenant c'est bon pour l'inscription sans commande. Mais pas l'inscription dans le processus de commande , j'obtiens ce message TECHNICAL ERROR: unable to save account Details: Error thrown: [object Object] Text status: parsererror

Et dans la console :  Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience

 

Si je retire le script de index.php c'est bon.

 

Le site de test sur lequel j'ai laissé le script est ici

et le site en prod sur lequel j'ai retiré le script sur index.php est ici

Je vais mettre à jour le site mais c'est embêtant de laisser en attendant le prod sans recaptcha.  Que faudrait-il que je vérifie ?

 

Merci d'avance

Link to comment
Share on other sites

Sur https://backup2.etiketbio.eu/nous-contacter

Tu as a priori 2 script car on vois bien le recaptcha flasher une fois avec le message "Erreur: pour le propriétaire du site : Clé de site non valide" puis le grecaptcha

(function(){
	var googlecaptchasitekey = '6Lf2kqYUAAAAAOmtahZTo8RJ4gDnioNgwrE1bnmF';
	var trigger = function(){
		setTimeout(function(){
			$('div.g-recaptcha').remove();
			var $forms = $('form.contact-form-box,form#sendOrderMessage,form#account-creation_form');
			if ($forms.length > 0){
				var captcha = $('<div class="g-recaptcha" data-sitekey="'+ googlecaptchasitekey + '">');
				var $submit = $forms.find('#submitMessage,.button[name=submitMessage],#submitAccount');
				$submit.before(captcha);
				$submit.click(function(event){
					if ($forms.find('#g-recaptcha-response').val().length == 0) {
						event.preventDefault();
						event.stopPropagation();
						return false;
					}
				});
				try {
						window.grecaptcha.render(captcha[0]);
				} catch(e){};
			}
		},1000);
	};
	$(document).ready(trigger);
	$(document).bind('ajaxComplete', trigger);
	})();
if ( window.history.replaceState ) {
		window.history.replaceState( null, null, window.location.href );
	}
var googlecaptchasitekey = 'code publique'; /* TODO: tune this https://www.google.com/recaptcha/admin */
                        $(document).ready(function(){
                                var $forms = $('form.contact-form-box');
                                if ($forms.length > 0){
                                        var captcha = $('<div class="g-recaptcha" data-sitekey="'+ googlecaptchasitekey + '">');
                                        var $submit = $forms.find('#submitMessage');
                                        $submit.before(captcha);
                                        $submit.click(function(event){
                                                if ($forms.find('#g-recaptcha-response').val().length == 0) {
                                                        event.preventDefault();
                                                        event.stopPropagation();
                                                        return false;
                                                }
                                        });
                                }
                        });

 

sur le site de prod, c'est pareil plusieurs instance de grecaptcha

Link to comment
Share on other sites

Merci Doekia !

Sur le site de test, effectivement j'ai trouvé le script dans contact-form.tpl et l'ai retiré.  Erreur de ma part parce que j'étais tombée sur une autre page de tuto (

) ! Mais sinon, je ne comprends pas qu'il y ait plusieurs instances, il n'y a pas de module de recaptcha installé. Sur le site de test j'ai mis la class aux 3 form qu'il y a sur authentication.tpl. Cela pourrait expliquer ? 

Sur le site de prod, faut que je cherche. Je vois que la class n'a été rajoutée que sur le form new_account_form (dans authentication.tpl). A priori, je ne vois pas d'autre appel au script.

 

Par contre, comme c'est le système one page checkout qui est utilisé, ne faudrait-il pas rajouter la class au form dans order-opc-new-account.tpl ?

 

mercipour ton aide

Link to comment
Share on other sites

pour tester, j'ai mis la class contact-form-box sur le form new_account_form du order-opc-new-account.tpl et remis le mode de commande en une étape. Le captcha s'affiche, mais ensuite toujours la même erreur technical

Link to comment
Share on other sites

sorry, j'ai dû bosser sur un autre site dans l'intervalle. Le bug peut être lié aux API de Google Map ? Car sur la page de commande, il y a aussi un module qui affiche une carte pour visualiser où sont les points de dépôt sur Orléans (pas Mondial Relay, mais points persos)

Link to comment
Share on other sites

Bonjour, j'ai mis à jour une copie en 16.1.24, remis le captcha, et de nouveau on ne peut pas s'inscrire. J'ai donc à nouveau retiré le code du fichier index.php.

C'est bien le code de cette page qu'il faut mettre pour éviter les fausses inscriptions ?

https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1

Désolée pour cette bête question ...

Merci d'avance

Link to comment
Share on other sites

  • 10 months later...

Bonjour,

Moi aussi j'ai fait la modif de Doekia il y'a peu de temps suite a une attaque de SPAM sur mon presta 1.6 > https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1

Depuis je m'aperçois que les client n'arrivent pas a commander > TECHNICAL ERROR: unable to save account Details: Error thrown: [object Object] Text status: parsererror

J'ai essayé l'astuce de Kerlin, dire a mon client de vider son panier et de créer son compte sans achat (validation du captcha ok) et compte client crée, il a ensuite pu commander.

Par contre lorsqu'on a un article dans le panier et que l'on veut valider l'achat (One page checkout) pas de captcha et affichage de l'erreur lorsqu'on essaie de valider le compte.

 

D'après Mediacom87 la version  16. 1 .24  comporte deja la correction de code. (je n'ai pas la mise a jour vers cette version)

Ma question dois-je juste faire la mise a jour vers cette version ou bien faut-il d'abord que je supprime les modification Captcha que j'ai effectués grace a Doekia ??

 

Merci beaucoup pour vos réponses :)))

Link to comment
Share on other sites

Il y a 17 heures, DDM a dit :

Depuis je m'aperçois que les client n'arrivent pas a commander > TECHNICAL ERROR: unable to save account Details: Error thrown: [object Object] Text status: parsererror

Dans 99% des cas celà provient d'un raté dans la copie du contenu de l'override (caractères invalide)

Copier ici en zip le contenu des 2 overrides

Link to comment
Share on other sites

Oui le recaptcha est bien dans header.tpl (dans mon précédent zip je n'ai pas mis le header.php. Je joint ici un nouveau zip avec le header.tpl modifié)

Je n'ai pas mis de patch pour les spam d'inscription pour url russe non.

Les 2 autres modif que j'ai faites sur cette période c'était pour une erreur du fil d'ariane dans google search console + modif pour erreur de donnée structuré toujours sur search console.

Je te joins aussi le zip de ces modifs

autre modif.zip modif recaptcha.zip

Link to comment
Share on other sites

Avec ce morceau de code en moins ca fonctionne.

Le problème venez donc du code? Bizarre quand même d'autres aurait déjà du avoir ce problème.

Juste une question. Je suis en version 1.6.1.18 que pense tu de mettre a jour sur 1.6.1.24 ? Je conserverai ces 2/3 modification que j'ai effectuées je pense?

Merci pour ta précieuse aide :))

Link to comment
Share on other sites

  • 5 months later...

Bonjour,

Sur ma boutique en PS 1.6.1.17, j'ai mis en place ce Catpcha
https://shop.devcustom.net/fr/content/9-mise-en-place-captcha?content_only=1

Mais j'ai moi aussi des utilisateurs qui tombent sur une erreur...
En fait, les utilisateurs qui sont sous Firefox ne voient pas le Captcha et lorsqu'ils valident ils se voient afficher un message d'erreur. Par contre cela fonctionne sous Edge (les 2 versions) et Chrome.

Une idée ?

Merci d'avance,
Laurent.
 

Link to comment
Share on other sites

 

Il y a 14 heures, doekia a dit :

Oui mais encore quel est l'erreur?

90% que le problème soit lié au cross cookie domain et les nouveau défaut de sécurité (Secure, ...)

Bonjour,

Ce type d'erreur...
https://www.prestashop.com/forums/topic/1012683-solved-technical-error-unable-to-save-account-details/

Cordialement,

 

Link to comment
Share on other sites

Oui...
Mais devant le souci permanent, j'ai désactivé la commande rapide sans ouverture de compte car cela ne marchait que trop peu souvent.

Depuis, j'ai ce souci latent, et j'ai bien de la chance quand les clients appellent pour me le signaler.
A noter qu'actuellement avec mes navigateurs sur mes 2 P,c je n'ai pas l'erreur.

 

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