es Spanish

Integrar Google reCAPTCHA en Prestashop 1.6

Share on facebook
Share on linkedin
Share on twitter
Share on email

¿Harto del Spam? ¿De recibir cientos de correos basura? Añadir Google reCAPTCHA en Prestashop 1.6 es más fácil y rápido de lo que piensas. Te explicamos cómo.

 

Pasos:

1.- Obtener las claves de Google reCAPTCHA

Accede al sitio oficial de Google https://www.google.com/recaptcha/intro/ y solicita para tu dominio las claves:

 

Integrar Google reCAPTCHA en Prestashop 1.6

 

2.- Ya tenemos las claves, ahora vamos a utilizarlas:

 

Integrar Google reCAPTCHA en Prestashop 1.6

 

3. Editar el archivo header.tpl:

Necesitamos añadir el javascript de google recaptcha, para lo que entramos en nuestro panel de control o por ftp a la raíz de la instalación de Prestashop y editamos el archivo  themes/default-bootstrap/header.tpl para añadir antes de la etiqueta de cierre del head </head> la siguiente línea (puede estar o no en la línea 71, dependiendo de cada tema o versión):

<script src='https://www.google.com/recaptcha/api.js'></script>

Integrar Google reCAPTCHA en Prestashop 1.6

 

4.- Editar el formulario de contacto:

Ahora buscamos la plantilla que muestra el formulario de contacto de nuestra tienda, contact-form.tpl. En nuestro caso es el tema por defecto, la dirección de la plantilla es themes/default-bootstrap/contact-form.tpl. Hacemos una copia de seguridad por si las moscas y editamos el archivo, en mi caso (puede diferir según la versión de Prestahsop) añado el código de Google en la línea 147 aproximadamente:

Integrar Google reCAPTCHA en Prestashop 1.6ContactController.php

Guardamos todos los cambios y entramos en el formulario de contacto de nuestra tienda y si está todo correcto veremos que ya aparece la famosa casilla “No soy un robot”:

 

Integrar Google reCAPTCHA en Prestashop 1.6

5.- Server side

Ahora nos queda quizá la parte más compleja, que es editar el controlador para añadir las llamadas por POST a gooogle y que verifique que quien pretende enviar el formulario de contacto sea un “humano”.  Ahora tendremos que editar el archivo controllers/front/ContactController.php. Hacemos una copia de seguridad primero y d, lo abrimos y añadimos las siguientes líneas de código al principio de la función postProcess, no olvidar la llave de cierre } del if de la línea 227 aprox:

 

Integrar Google reCAPTCHA en Prestashop 1.6

 

Explicación del código por líneas:

39 recogemos en $recaptcha la respuesta de google

41 – 44 Creamos el array de datos a enviar a Google con ‘secret’ => clave secreta que nos proporciona google y ‘response’ con el contenido recogido en $_POST

46 url de POST para verificar los datos

47 – 53 configuración típica para enviar por POST los datos usando CURL

55 en $response recogemos el JSON que nos devuelve Google

58 en $resultado almacenamos el json_decode de $response

60 si el resultado de success es true procedemos con el envío del formulario (no olvidar cerrar el if)

 

Eso es todo, si has seguido los pasos correctamente puedes olvidarte del spam. Si no has conseguido integrar Google reCAPTCHA en Prestashop 1.6 o en cualquier otra tienda o formulario de contacto y necesitas ayuda, contacta con nosotros y te ofreceremos la solución que mejor se adapte a tus necesidades.

 

El código completo del archivo ContactController.php

PHP
Si te ha servido, deja un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Más entradas

Instalación WooCommerce en WordPress
Apuntes

Manual de WooCommerce

En este post, os dejamos un pequeño manual de WooCommerce. Os vamos a enseñar como instalar y manejar de manera básica WooCommerce en WordPress. ¿Qué

Logo BlackData
Blog

BlackData, nuevo Colaborador

BlackData es una empresa la cuál es especialista en ciberseguridad y auditorias de vulnerabilidades. Cuentan con un equipo técnico multidisciplinar que garantiza un alto nivel

Categorías

¿Quieres impulsar tu negocio?

escríbenos y manténte en contacto

Desarrollo de tiendas online Garber Informática

Contacta con nosotros