
Anti-spam pour formulaire de contact universel
Cela va faire maintenant 20 ans (!?) que j’utilise une technique anti-spam que je trouve miraculeuse.
Elle est pourtant SI SIMPLE que je me demande encore tout le temps pourquoi elle n’est pas universelle…
Mais si elle était universelle, elle ne fonctionnerait simplement plus.
Je protège tous mes formulaires de contact avec cette technique depuis donc de très nombreuses années.
La technique se base facilement sur le fait que les robots spammeurs veulent remplir tous les champs de votre formulaire.
J’ajoute donc un champ URL dans mon formulaire et je le cache en CSS.
<style> #monform input[type=url]{display:none} </style> <input id="url" name="url" type="url">
Et en récupérant mon formulaire, je vérifie si le champ URL est rempli.
S’il l’est, c’est que ce n’est pas un humain qui a rempli le formulaire (sinon, il n’aurait pas vu le champ).
Et donc ça dégage.
<?php // Tu recup tes variables et leur fait un petit traitement de sécurité au besoin ici $message = $_GET['m']; $email = $_GET['e']; […] $url = $_GET['u']; // Tu t'assures que tous les champs requis sont là et surtout que le champ URL est vide // C'est le empty($url) qui est important ici if (isset($message) && isset($email) […] && empty($url)) { // Tu fais tes expéditions d'email comme tu le veux (Perso, je passe par l'API Mailjet) […] // Important, si tu envoies une confirmation de réception à l'expéditeur, n'envoies pas le message d'origine // Les spammeurs pourraient utiliser ton accusé de réception pour faire passer leurs SPAM. } // Et si le champ URL est rempli, tu réponds à l'expéditeur d'aller se faire voir dans d'autres contrés. elseif (isset($url)) { echo '<center><img src="https://pbs.twimg.com/media/CNzgBseWwAQ90Nw.png:large" alt="Hahaha"/><br>Please bitch</center>'; } ?>
Remerciez Xakan pour sa demande.