Anti-Spam PHP

Tutoriel et réflexions

Cette fois-ci : on éradique avec un piège très efficace ...

Les captchas, outre le nom ridicule dont ils sont affublés, ne sont pas du tout infaillibles. En fait, et ce ne sont pas mes petits camarades aux chapeaux sombres qui me contrediront : ils ne servent pas à grand chose. Parce que les scripts et robots spammeurs ne passent pas par la porte d'entrée que représente votre joli formulaire : ils vont directement envoyer leurs textes drolatiques dans le traitement même avant envoi vers la base de données. C'est d'autant plus simple que la majorité écrasante des blogs est désormais motorisée par Wordpress. Et bien entendu tout ce joli monde ne songe pas à modifier le nom des variables et des champs coté HTML ou mieux coté MySQL. Bref : c'est la passoire.

On peut donc traiter le spam à posteriori, avec des tas de solutions comme les filtres bayésiens et consorts. Ou alors on essaye d'éradiquer les intrus à la source, avant même que le spam ne vienne remplir la base de données. La solution que voilà me semble vraiment ultime. Il s'agit simplement de modifier le code HTML du formulaire comme ceci :

Ensuite en PHP on ajoutera une petite condition if dans la partie du script qui traite les données du formulaire :

Si personne n'a cliqué sur le bouton, la valeur de la variable envoyée via POST sera inchangée : "robotspam" ! Si en revanche c'est bien la tante Olga qui a cliqué sur le bouton pour vous dire tout le bien qu'elle pense de votre blog sur les chatons roux, alors le gentil Javascript activé dans son butineur préféré changera la valeur de quivala en "humain" ! Une solution qui ne supprimera donc pas les spams manuels réalisés par les artisans pollueurs mais qui va réduire drastiquement les automates enragés des vendeurs de pilules. Oui, je sais : je n'ai pas encore installé cet ingénieux système sur le blog. C'est pour bientôt et ce sera parfaitement indolore ! :)

Notre illustration : un blogueur amateur tente d'amadouer un spammeur déguisé en chat noir.

Propagez ce billet sur les réseaux :
Pinterest
Auteur : Simon Tripnaux

Blogueur lifestyle - Content manager & expert SEO. Mon job, rendre visible et lisible vos projets par les mots. Adepte de l'écriture depuis 1978.

Twitter Facebook LinkedIn

Blogueur ? Auteur ? Rejoignez la rédaction !

Picsario Photos On Demand

Picsario.com
Trouvez enfin des photos uniques pour votre blog ! La solution de content marketing Picsario est un concept qui révolutionne notre rapport à l'image. Votre stratégie #SocialMedia et vos contenus vont enfin captiver votre audience ... [clic!]


Et aussi ...

Mur d'images !
Nouveauté sur le site, un accueil tout en images ! On appelle ça "le wall", et je suis sûr que vous allez aimer ... www.tribords.com. Ne fonctionne que pour...

#InDevWeTrust

Devenez développeur Web avec O'clock !
Si vous avez toujours rêvé de toucher votre bille en code, de murmurer à l'oreille des écrans ou de dompter des cascades très stylées, l'école O'clock va sûrement vous plaire ! Parmi les nombreuses formations web qui pullulent désormais sur le marché, celles de développeur web...

Adresse email jetable
Hop, une petite liste des services en ligne pour obtenir une adresse email temporaire, c'est à dire une adresse jetable, pour s'inscrire à des jeux concours à la noix ou mille autres activité encore :) Voici donc ma liste de sites qui proposent ce service, ce sont tout simplement les plus fiables et les plus...

Boutons de manchette Facebook
Vous êtes social du genre réseau ? Hype du style élégant ? Geek à fond les ballons ? Alors si vous êtes tout ça à la fois et que vous portez des chemises toutes belles et bien repassées...

Ajoutez votre avis !

4 avis forts intéressants

Wastasidoc 

à quel endroit précis d'un template wordpress il faut poser la ligne:

if($_POST['quivala'] == "humain") {//ici la fonction pour envoyer la sauce}else{//ici on envoie promener le vilain robot};

???

Merci ;)))

Julien 

Merci pour cette information. C'est un peu compliqué à comprendre mais une fois compris il ne reste plus qu'à l'appliquer pour dormir sur ses deux oreilles !

DevPHP 

En réalité, c'est compliqué sans l'être...
Les codes de contrôle PHP sont à mettre dans la source PHP (sur WordPress, je sais pas ou)
tandis que notre code HTML se met dans le Template.

De mon coté, j'ai un peu corsé la chose en attribuant au champ name et value, une valeur aléatoire (stocker en SESSION).

La lutte contre les messages du type :
kex73 <a href="htt p://czpeelydandc.com/">czpeelydandc</a>
n'est surement pas fini, mais on sera toujours suffisamment malin pour les ralentir...

Tadelakt 

merci pour le code, facile et rapide mais ou est l'emplacement où en peut intégrer ce bout de code? dans l'action de validation d'un formulaire?

Autres trucs à lire :

– #3D Lovers Trixel pour l'amour du pixel !
– L'imagination est dans le carton ! Pirouette Cacahouète, des jeux créatifs en carton
– Bonnes pages I.F Mag : Intensément Frivole
– Le blog Blog de la Révolution verte par Société Fleur d'Hibiscus

NEWSLETTER FOR EVER !

©2008-2017 Tribords.com le blog lifestyle de Simon Tripnaux rédacteur web freelance soutien de #CotedAzurNow

Consultant SEO à Nice - Cannes - Monaco - 06 56 84 42 53