Quelle est l'efficacité de la technique honeypot contre le spam?

Par "pot de miel", je veux dire plus ou moins de cette pratique:

#Register form
<style>
    .hideme{
        display:none;
        visibility: hidden;
    }
</style>
<form action="register.php">
    Your email: <input type="text" name="u-email" />
    Choose a password: <input type="text" name="passwd" />
    <div class="hideme">
        Please, leave this field blank: <input type="text" name="email" />  #the comment is for text-browser users
    </div>
    <input type="submit" value="Register" autocomplete=off />
</form>

//register.php
<?php
if($_POST['email'] != ''){
    die("You spammer!");
}
//otherwise, do the form validation and go on.
?>

plus d'info ici.

évidemment les champs réels sont nommés avec des hachures aléatoires, et les champs honeypot peuvent avoir des noms différents (email, Utilisateur, site web, page d'accueil, etc..) qu'un spammeur généralement remplit.

j'aime cette technique parce qu'elle ne provoque pas L'utilisateur d'être ennuyé par CAPTCHA.

quelqu'un d'entre vous a-t-il de l'expérience avec ceci? technique? Est-il efficace?

25
demandé sur klenwell 2010-09-02 01:57:19

3 réponses

cela fonctionne relativement bien, cependant, si le créateur de bot s'occupe de votre page, il le verra (ou aura même une configuration de routine à vérifier) et modifiera très probablement son bot en conséquence.

Ma préférence est d'utiliser reCaptcha. Mais ce qui précède arrêtera certains bots.

4
répondu Brad F Jacobs 2010-09-01 22:00:52

vieille question, mais j'ai pensé que j'allais intervenir, car j'ai maintenu un module pour Drupal (pot de miel), qui utilise la méthode Honeypot spam prevention à côté d'une protection basée sur le temps (les utilisateurs ne peuvent pas soumettre de formulaire en moins de X secondes, et X augmente de façon exponentielle avec chaque consécutives de la soumission). En utilisant ces deux méthodes, j'ai entendu parler de beaucoup, beaucoup de sites (exemples) qui ont éliminé presque tous les pourriels automatisés.

j'ai J'ai eu plus de succès avec Honeypot + timestamp qu'avec N'importe quelle solution basée sur CAPTCHA, parce que non seulement je bloque la plupart des spammeurs, Je ne suis pas non plus punir mes utilisateurs.

17
répondu geerlingguy 2013-12-16 16:23:02

avec la technique ci-dessous, je bloque 100% des spams.

  1. honeypot avec display: none. en cas d'échec, exécutez le script supplémentaire pour recueillir l'adresse IP et l'écrire .fichier htaccess sur refuser de ligne.
  2. compter le nombre D'URL sur le champ de commentaire. en cas d'échec, avertissez seulement parce que cela peut être humain.
  3. mesurer le temps de poster. si moins de 5 secondes, afficher le message d'erreur et les laisser essayer à nouveau parce que l'humain peut écrire assez rapidement avec le plugin auto-remplissage.
  4. garniture htaccess file dailly avec crontab afin que les lignes deny ne dépassent pas 30 lignes (ajuster en conséquence).

nier l'accès avec l'adresse IP est très efficace parce que les bots continuent d'essayer de se faufiler avec les mêmes IP (s'ils changent D'IP, alors je mets cette nouvelle IP sur htaccess donc pas de problème). Je garniture .htaccess file daily avec crontab automatiquement pour que le fichier ne soit pas trop gros. J'ajuste le nombre D'IP pour bloquer de sorte que le même bot avec la même IP sera bloqué pendant environ une semaine. J'ai remarqué que la même IP est utilisé par bot pendant 3 jours en attaquant plusieurs fois.

le premier truc #1 Bloque environ 99% et #2 bloque environ 1% et le bot ne passera pas par ces 2 donc # 3 pourrait ne pas être nécessaire.

9
répondu mowmow-guest 2014-08-14 05:03:03