Truc anti-spam pour Pixelpost
Je pense que je ne suis pas le seul à avoir été totalement mitraillé de spams avec mon pixelpost, j’en avais parfois jusqu’à 200 par jour !
Je me suis donc mis à la recherche d’une solution simple et efficace, et je pense l’avoir trouvé puisque depuis sa mise en place, il y a un an et demi, les spams ont totalement disparu.
En voici le principe :
Les spammeurs ne vont pas sur votre site (ou alors peut-être juste une fois), ils utilisent la plupart du temps des systèmes automatisés qui postent directement le commentaire crapuleux vers le script de votre site qui l’enregistre. Conclusion, ils ne passent pas par le formulaire et donc ne cliquent pas sur le bouton “envoyer le commentaire”.
L’astuce consiste juste à vérifier que le bouton à été physiquement cliqué avant d’enregistrer le commentaire.
La modification s’effectue en deux étapes, il faut :
- Modifier le formulaire pour qu’il soit en mesure de détecter si oui ou non le bouton a été cliqué.
- Modifier le script d’enregistrement du commentaire pour qu’il reçoive le résultat du formulaire et décide de valider ou non l’enregistrement.
1. Modifier le formulaire :
D’abord ce qu’il te faut, c’est localiser la page où se trouve ton formulaire de commentaires.
Il est généralement dans ton template soit dans image_template.html soit dans comment_template.html.
-
Voici la modification à faire avec le template “simple” de pixelpost 1.5 :
Le template “simple” de la version 1.5 utilise le popup, le formulaire se trouve donc dans comment_template.htmlCODE D’ORIGINE (à remplacer par le code modifié ci-dessous) :
CODE MODIFIÉ :
-
Pour pixelpost 1.6 :
C’est exactement la même chose que pour la version 1.5, sauf que pour le template “horizon”, le formulaire à modifier se trouve dans image_template.html.
1. Modifier le script d’enregistrement :
- Pour Pixelpost 1.5 :
Edite le fichier index.php et va à la ligne 933 au début de la section “SAVE COMMENT”CODE D’ORIGINE (à remplacer par le code modifié ci-dessous) :
CODE MODIFIÉ :
Ainsi les commentaires ne seront enregistrés que si la valeur “ahuman” est reçue, autrement dit, si le bouton à été cliqué.
Effectue la même modification à la ligne 1025 au début de la section “EMAIL NOTE ON COMMENTS”. Ainsi les commentaires ne seront envoyés par email que si la valeur “ahuman” est reçue, autrement dit, si le bouton à été cliqué.
- Pour Pixelpost 1.6 :
C’est exactement la même chose que pour la version 1.5, sauf que les 2 lignes à modifier se trouvent dans includes/functions_comments.php aux lignes 15 et 225.
Voilà !
Forcément, çà n’arrête pas les spams manuels, mais bon ceux là sont déjà plus rares. Si d’un seul coup les spams recommençaient, celà voudrait dire que les spammeurs ont pigé le truc et injectent directement la valeur “ahuman” avec leurs scripts, dans ce cas tentez de changer et le nom de la variable “you_are” et sa valeur idéale “ahuman” par autre chose.
J’ai longtemps utilisé ce truc qui fonctionnait parfaitement, mais la version 1.7.1 semble ne plus permettre cette astuce. Je vais regarder ça attentivement…
Julien : Ha… zut, j’essaierais de regarder quand j’aurais un moment
Comment by Pierre — April 7, 2008 @ 4:08 pm