50 votes

Le blocage des spams dans les commentaires, sans l'aide de captcha

Quels sont certains non-captcha méthodes pour bloquer le spam sur mes commentaires?

61voto

Michael Borgwardt Points 181658

Dans mon expérience, actuellement l'un des plus efficaces méthodes sont des pots de miel des champs de saisie qui sont invisibles pour les utilisateurs via CSS (meilleure utilisation de différentes méthodes, telles que la visibilité:hidden, la définition d'une taille de 0 pixels, et un positionnement absolu loin en dehors de la fenêtre du navigateur); s'ils sont remplis de toute façon, vous pouvez supposer qu'il est un spammeur.

Ce blog décrit une méthode assez complexe que j'ai essayé moi-même (avec 100% de réussite jusqu'à présent), mais je soupçonne que vous pourriez obtenir le même résultat en sautant tous les trucs avec des haché noms de champ et ajoutez juste un simple pot de miel des champs.

14voto

mauris Points 19666

1) Ajout de la session des informations connexes dans la forme Exemple:

<input type="hidden" name="sh" value="<?php echo dechex(crc32(session_id())); ?>" />

puis à la publication, vérifier si la session est valide ou pas.

2) Javascript-seulement. L'utilisation de Javascript injection lors de la Soumission. Exemple:

<input type="hidden" id="txtKey" name="key" value="" />
<input type="submit" value="Go" onclick="document.getElementById('txtKey').value = '<?php echo dechex(crc32(session_id())) ?>';" />

3) délai par IP, Utilisateur ou de la Session. c'est assez simple.

4) la Randomisation des noms de champ:

<?php
   $fieldkey = dechex(crc32(mt_rand().dechex(crc32(time()))));
   $_SESSION['fieldkey'] = $fieldkey;
?>
<input type="text" name="name<?php echo $fieldkey; ?>" value="" />
<input type="text" name="address<?php echo $fieldkey; ?>" value="" />

Ensuite, vous pouvez vérifier sur le côté serveur.

9voto

easement Points 3468

Akismet a une API. Quelqu'un a écrit une classe wrapper (licence BSD) pour plus d'au: http://cesars.users.phpclasses.org/browse/package/4401.html

Il y a également un filtre Bayésien classe (Licence BSD) http://cesars.users.phpclasses.org/browse/package/4236.html

5voto

reactivePixel Points 41

Il y a le Pot de Miel de la Théorie. J'aime couplage pots de miel avec d'autres formes de réduction du spam pour de meilleurs résultats.

http://www.projecthoneypot.org/

4voto

NickAtuShip Points 765

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X