ALTCHA
WP-ImmoMakler es compatible con la protección antispam respetuosa con la privacidad ALTCHA. Se carga completamente desde su propio servidor de WordPress, sin conexión a terceros y sin cookies.
Funcionamiento
Sección titulada «Funcionamiento»ALTCHA plantea al navegador de su visitante una tarea de cálculo automatizada (una denominada prueba de trabajo). El navegador la resuelve en segundo plano en cuanto se ha cargado la página, mientras su visitante rellena el formulario. Solo se muestra un pequeño campo que confirma que la comprobación se ha realizado correctamente:
Por tanto, sus visitantes no tienen que resolver ningún desafío ni hacer clic en nada. Para un bot de spam que envía formularios de forma masiva, en cambio, el esfuerzo de cálculo se acumula hasta convertirse en un obstáculo real.
A continuación, el servidor comprueba si la solución enviada corresponde a una tarea emitida por él mismo. Cada tarea es válida una sola vez y solo durante un tiempo limitado.
Configuración
Sección titulada «Configuración»Seleccione ALTCHA de la lista en el backend de su sitio web (wp-admin) en WP-ImmoMakler → Ajustes → Protección antispam → Nivel 2: proveedores de CAPTCHA. No se requieren más ajustes ni ninguna cuenta externa, a diferencia de los CAPTCHAs alojados externamente, que requieren todos un sitekey y un secret key.
El ajuste se aplica a todos los formularios del plugin:
- el formulario de contacto en la vista de detalle del inmueble
- el formulario de alertas de búsqueda
- el formulario de desistimiento
Protección de datos
Sección titulada «Protección de datos»- La tarea de cálculo la genera y la comprueba su propio servidor. No existe conexión con servidores de terceros.
- No se establecen cookies.
- No se recopilan datos de comportamiento de sus visitantes (movimientos del ratón, pulsaciones de teclas).
- Lo único que se transmite es la solución de la tarea de cálculo: un valor numérico aleatorio junto con una suma de comprobación.
El aviso «Protegido por ALTCHA» dentro del campo es un simple enlace de texto a altcha.org. No carga ningún contenido desde ese sitio.
Detalles técnicos
Sección titulada «Detalles técnicos»Endpoint de la API REST
Sección titulada «Endpoint de la API REST»El navegador obtiene la tarea de cálculo a través de un endpoint de la API REST de WordPress:
GET /wp-json/immomakler/v1/altcha/challengeLa respuesta no se puede almacenar en caché de forma intencionada (Cache-Control: no-store), ya que cada tarea solo es válida una vez.
Valores predeterminados
Sección titulada «Valores predeterminados»| Parámetro | Valor | Descripción |
|---|---|---|
| Procedimiento | PBKDF2/SHA-256 | Procedimiento de cálculo de la tarea |
Iteraciones (cost) | 5.000 | Esfuerzo por paso de cálculo |
Pasos de cálculo (counter) | 500–1.500 | Número de pasos hasta la solución |
| Validez | 30 minutos | Después la tarea caduca |
| Uso múltiple | no posible | Cada tarea resuelta sirve para exactamente un envío |
En un ordenador de escritorio la tarea se resuelve en aproximadamente medio segundo; en un smartphone de gama media, en unos pocos segundos. Como el cálculo comienza al cargar la página, en la práctica finaliza antes de que el formulario esté completamente rellenado.
Ajustar la dificultad
Sección titulada «Ajustar la dificultad»Si sigue recibiendo spam con ALTCHA activado, puede aumentar el esfuerzo de cálculo mediante un filtro. Tenga en cuenta que con ello también aumenta el tiempo de espera en dispositivos poco potentes.
add_filter( 'immomakler_altcha_challenge_options', function ( $options ) { $options['cost'] = 10000; $options['counter_min'] = 1000; $options['counter_max'] = 3000; return $options;} );Filtro del formulario
Sección titulada «Filtro del formulario»La protección antispam se integra en la validación del formulario de contacto mediante el siguiente filtro:
// Añadir su propia lógica de validaciónadd_filter( 'immomakler_contact_form_errors_in_send', function( $errors ) { // $errors['mi_error'] = true; return $errors;} );El mensaje de error que aparece cuando la comprobación falla se puede personalizar:
add_filter( 'immomakler_contactform_altcha_validationfailed', function ( $html ) { return '<div class="alert alert-danger" role="alert">Vuelva a intentarlo, por favor.</div>';} );