Logo . Vous n'êtes pas connecté
. Vous n'avez pas de message privé
Mondial Forum -> Création de sites Page : 1
Auteur Message
michel91
[Administrateur]

michel91
Messages: 160
Posté le: 21 Jan 2009 07:29 || Sujet du message: La solution anti-bots/spammers invisible pour formulaire
Bonjour ou bonsoir !

On va s'attarder à un petit sujet qui peut être bien chiant. Dans les livres d'or par exemple ; ne vous est-il jamais arrivé d'avoir des anglais spammant juste pour dire que votre site est excellent (qui ne rate d'ailleurs pas l'occasion pour insérer un lien vers son site), ou des américains qui vous vendent des "viagra pills" (on aurait pu dire bien plus, mais là on passerait plus ICRA).

La plupart des sites utilisent la technique dite du CAPTCHA, ces images avec un texte à recopier. Il y a pire : les captchas avec des lignes qui deviennent illisibles à force.
Pour remédier à ce problème, voici LA solution.


On va d'abord se plonger dans le bain. Tout d'abord, on va identifier cette bande de plaisantins qui s'amusent à vous laisser des messages publicitaires.
On ne va pas vous donner de noms, mais vous dire quelle est la race de ces personnes. Ils ne sont pas humains, ce sont des robots. En gros, c'est des personnes "imaginaires" (qui agissent grâce à un ordinateur) et qui cherchent sur la toile des cibles (sites où il y a des formulaires) et qui postent des messages, beaucoup de messages, trop de messages.

Pour être franc, ça n'est pas moi qui ai inventé ce système (je suis beaucoup trop débile pour trouver ça wink ). Je vous donnerai le lien à la fin pour que vous lisiez cet article jusqu'au bout tongue
Tout d'abord, si vous ne le savez pas, les robots n'interprètent pas le CSS. Très idiots, en effet. Donc si on cache un élément avec visibility: hidden; par exemple, il le verra quand même.
Là se cache la ruse.

On va donc mettre un champ invisible caché grâce au CSS (seul le robot pourra le voir). Et comme le robot adore remplir les champs d'un formulaire, s'il le remplit, il passera à la trappe.
Mettons en place un formulaire (HTML) :
Code:

<input type="text" name="lastname" class="lastname" />

On appelle donc ce champ lastname. Lastname, c'est nom de famille en anglais. On l'appelle comme ça parce que le robot remplirait sans avoir peur d'être piégé. Si on l'appellerait "spam", il se méfierait sans doute de quelque chose.

Sauf que là, tout le monde le voit. On va donc le cacher. Rien de compliqué (CSS):
Code:

.lastname {
visibility:hidden;
}

Donc là on cache les éléments ayant pour attribut class "lastname". Là, il n'y a que notre champ à cacher qui s'appelle lastname.
Et maintenant, il est caché.

Ensuite, il ne reste plus qu'à faire les vérifications en PHP.
Code:

<?php
if (empty($_POST['lastname'])) {
// On fait les actions à faire (la personne n'est pas un robot)
}
else {
// On renvoie le robot à sa place. Parce que c'est un robot.
}
?>

Bref cette méthode fonctionnerait. Mais attention, le visiteur peut bien avoir désactivé le CSS.
Donc essayez de prévenir le visiteur sans CSS qu'il ne faut pas remplir la case.

________________
Image
Revenir en haut Voir le Profil Voir le Site Web
Page : 1
Qui est en ligne ?
Qui est en ligne ?

Il y a en tout 0 utilisateur en ligne : 0 visible et 0 invisible (dans les 5 dernières minutes) I
Code de couleur : [ Administrateur ] [ Modérateur ]
Utilisateur connecté :

suggerer lien, Outil de référencement manuel... Référencement Référencement Gratuit Simulateur combatReferencementGratuit.fr Annuaire gratuit Compare le Net notre-planete.info - environnement, développement durable, photos, changement climatique Jeuxvideo.com la référence sur l'actu des jeux vidéoForumsEdubourse.com, La Bourse enfin facile d'accèsPublicité pour ton forum et échange de bannières referencementREFERENCEMENTAnnuaire TrouveasyInternet Annuaire de Referencement Gratuit et Liste des annuaires gratuits