Aller au contenu

ALTCHA

WP-ImmoMakler prend en charge la protection anti-spam respectueuse de la vie privée ALTCHA. Elle est chargée entièrement depuis votre propre serveur WordPress, sans connexion à des tiers ni cookies.

ALTCHA soumet au navigateur de votre visiteur un calcul automatisé à effectuer (une preuve de travail, ou proof of work). Le navigateur le résout en arrière-plan dès que la page est chargée, pendant que votre visiteur remplit le formulaire. Seul un petit champ confirmant la réussite de la vérification est visible :

Le champ ALTCHA dans le formulaire de contact avec la confirmation de vérification

Vos visiteurs n’ont donc aucun puzzle à résoudre et rien à cliquer. Pour un robot spammeur qui envoie des formulaires en masse, l’effort de calcul se cumule en revanche jusqu’à devenir un véritable obstacle.

Le serveur vérifie ensuite si la solution soumise correspond bien à un calcul qu’il a lui-même émis. Chaque calcul n’est valable qu’une seule fois et pendant une durée limitée.

Sélectionnez ALTCHA dans la liste, dans le backend de votre site web (wp-admin) sous WP-ImmoMakler → Réglages → Protection anti-spam → Niveau 2 : fournisseurs de CAPTCHA. Aucun autre réglage ni compte externe n’est nécessaire, contrairement aux CAPTCHAs hébergés en externe, qui exigent tous un sitekey et un secret key.

Le réglage s’applique à tous les formulaires du plugin :

  • Le calcul est généré et vérifié par votre propre serveur. Il n’y a aucune connexion à des serveurs tiers.
  • Aucun cookie n’est déposé.
  • Aucune donnée comportementale de vos visiteurs (mouvements de souris, frappes au clavier) n’est collectée.
  • Seule la solution du calcul est transmise : une valeur numérique aléatoire accompagnée d’une somme de contrôle.

La mention « Protégé par ALTCHA » dans le champ est un simple lien texte vers altcha.org. Elle ne charge aucun contenu depuis ce site.

Le navigateur récupère le calcul via un point de terminaison de l’API REST de WordPress :

GET /wp-json/immomakler/v1/altcha/challenge

La réponse n’est volontairement pas mise en cache (Cache-Control: no-store), car chaque calcul n’est valable qu’une seule fois.

ParamètreValeurDescription
ProcédéPBKDF2/SHA-256Procédé de calcul utilisé
Itérations (cost)5 000Effort par étape de calcul
Étapes de calcul (counter)500–1 500Nombre d’étapes jusqu’à la solution
Validité30 minutesLe calcul expire ensuite
RéutilisationimpossibleChaque calcul résolu ne vaut que pour un seul envoi

Sur un ordinateur de bureau, le calcul est résolu en une demi-seconde environ ; sur un smartphone de milieu de gamme, en quelques secondes. Comme le calcul démarre au chargement de la page, il est en pratique terminé avant que le formulaire ne soit entièrement rempli.

Si vous recevez encore du spam malgré ALTCHA activé, vous pouvez augmenter l’effort de calcul via un filtre. Notez que le temps d’attente sur les appareils peu puissants augmente également.

add_filter( 'immomakler_altcha_challenge_options', function ( $options ) {
$options['cost'] = 10000;
$options['counter_min'] = 1000;
$options['counter_max'] = 3000;
return $options;
} );

La protection anti-spam s’intègre dans la validation du formulaire de contact via le filtre suivant :

// Ajouter votre propre logique de validation
add_filter( 'immomakler_contact_form_errors_in_send', function( $errors ) {
// $errors['mon_erreur'] = true;
return $errors;
} );

Le message d’erreur affiché en cas d’échec de la vérification peut être personnalisé :

add_filter( 'immomakler_contactform_altcha_validationfailed', function ( $html ) {
return '<div class="alert alert-danger" role="alert">Veuillez réessayer.</div>';
} );