Recientemente nos hemos visto envueltos en un ataque de robots spammers que lograban traspasar las barreras de cloudflare turnstile y del reto matemático en los formularios de registro de memberpress. Además si el robot accede a la página de recuperación de contraseña, ésta no presenta el reto de turnstile. Hemos logrado hacer que el reto matemático (plugin de memberpess) funcione para recuperar contraseña, pero me temo que los robots con IA, ya son capaces de sumar.
Hemos conseguido parar de momento el ataque haciendo que los cursos protegidos no aparezca el formulario de registro o de ingreso (login) sino que redirija a la página de login de cuenta donde tenemos más control y donde hemos visto que turnstile sí que para los ataques.
No encuentro ningún plugin que no sea de pago o ninguna solución alternativa "segura" que permita que cualquier formulario de memberpress que requiera recuperar contraseña (con el url query de esta forma: ?action=forgot_password)
Memberpress está instalado junto a woocommerce y Elementor, ninguno de estos están afectados por este problema. Usamos formularios de contacto de Elementor con CloudFlare
Turnstile.
Contenido solo visible a usuarios registrados
Hola Ignacio.
Veo que estás utilizando el plugin Simple CAPTCHA Alternative with Cloudflare Turnstile y este plugin tiene una opción para configura el captcha en MemberPress tanto para la el formulario de acceso y registro/finalización de compra.
Podemos intentar Forzar Cloudflare Turnstile en el formulario de recuperación de contraseña de MemberPres
.- Añade el siguiente código e el plugin de Fragmentos de código
add_action('wp_footer', 'forzar_turnstile_memberpress_forgot_password');
function forzar_turnstile_memberpress_forgot_password() {
if (isset($_GET['action']) && $_GET['action'] === 'forgot_password') {
if (function_exists('simple_cloudflare_turnstile')) {
echo '<div style="margin: 15px 0;">';
simple_cloudflare_turnstile('memberpress_forgot_password');
echo '</div>';
}
}
}
Revisa si tenemos suerte y se muestra
Un saludo
Hola, hemos activado Cleantalk de pago y de momento está filtrando casi todo el spam, también hemos forzado como indicas, el formulario para memberpress de Simple Turnstile, desde el principio, y he probado finalmente tu código, pero por desgracia, eliminando caché y todo, no se muestra.
Quizá es por lo que dice la documentación, que el hook correcto que MemberPress documenta para ese formulario es mepr-forgot-password-form, y precisamente sirve para añadir contenido antes del botón Submit en la página de “Forgot Password”
Cloudflare indica que el flujo correcto es:
el widget debe estar dentro del formulario para enviar el token;
el token debe viajar en el POST como cf-turnstile-response;
y luego se debe validarl en servidor con Siteverify
Estoy intentando hacer un snippet pero en principio, ahora no me preocupa la parte de recuperar contraseña, ya que se sigue haciendo registros de cursos, saltándose tanto Turnstile como el reto matemático.
Gracias por el intento!
Hola Ignacio,
Si es posible envianos capturas sobre todas las configuraciones que estas realizando, de igual forma revisa:
<form>;Si es posible envianos el snippet que estás preparando para mepr-forgot-password-form o el método que estés usando en el registro de MemberPress, y lo revisamos para ver si la integración está quedando completa.
Un saludo.
Hola
he resuelto el problema con el snippet PHP que inserta turnstile en la página que contiene el shortcode de memberpress para forgot_password, pero no me deja adjuntarlo aquí directamente. El método usado ha sido como el que recomienda en la documentación de Memberpress, atacando el problema desde dentro del formulario. Con la activación de CleanTalk y el formulario de recuperación de password y la integración del snippet con turnstile, el spam ha tendido a cero desde ayer.
El formulario de registro que utilizo es el shortcode de memberpress: [mepr_login_form use_redirect="true"]
Claro que existe validación del token, funciona perfectamente! con Simple CloudFlare Turnstile https://wordpress.org/plugins/simple-cloudflare-turnstile/
Todo ahora se centra en la única página de acceso con el shortcode de memberpress anterior y el de la cuenta: [mepr_account_form]
Si queréis el snippet, adjunto está en zip. Contraseña: turnstile
Hola Ignacio,
Muchas gracias por tu valioso aporte, seguramente ayudara a muchos usuarios que presentan una situación similar
Daremos la consulta por resuelta pero de tener alguna otra duda estaremos atentos
Saludos!