Vous n'êtes pas identifié.
Pages: 1
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
). Je vous donnerai le lien à la fin pour que vous lisiez cet article jusqu'au bout
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) :
<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):
.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.
<?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.
Voter pour cet article dans Scoopeo.
Voici l'article original.
Bonne journée (ou soirée) !
The Only One.
Hors ligne
Pas mal comme solution parce que les CAPTCHA devienne très chiant à faire et que ça prend de la place sur la page :p .
Hors ligne
Pages: 1