2010-09-01 16 views
23

Por "honeypot", es decir, más o menos esta práctica:¿Qué tan efectiva es la técnica de honeypot contra el correo no deseado?

#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. 
?> 

más información here.

Obviamente los campos reales se nombran con los hashes al azar, y los campos honeypot puede tener diferentes nombres (correo electrónico, el usuario, el sitio web, página web, etc ..) que un robot de spam por lo general llena.

Me encanta este técnica porque no causa que el usuario se sienta molesto por CAPTCHA.

¿Alguien de ustedes tiene alguna experiencia con esta técnica? ¿Es efectivo?

+3

Tenga cuidado con sus nombres de campo cuando haga algo como esto. Hay múltiples rellenos automáticos de formularios y algo destinado a atraer a un robot de correo no deseado también puede contener un formulario de relleno.Prueba el formulario que me asignaron y me va a llamar spammer. No tengo idea de que mi sistema llenó el campo "correo electrónico" oculto. –

+0

Tienes razón, olvido el atributo 'AUTOCOMPLETE = OFF' en el campo de miel; sin embargo, no es compatible con todos los navegadores – Strae

+1

Relacionados: http://stackoverflow.com/questions/1577918/blocking-comment-spam-without-using-captcha Enumera muchas técnicas de bot/validación como CAPTCHA, honey pot, askimet , etc. Si tienes problemas con spambots, definitivamente vale la pena leerlo. –

Respuesta

4

Funciona relativamente bien, sin embargo, si el creador del bot abastece a su página se verá que (o incluso tener un entorno de rutina para comprobar) y lo más probable es modificar su robot en consecuencia.

Mi preferencia es usar reCaptcha. Pero lo anterior detendrá algunos bots.

+2

uso honeypot para no molestar a los usuarios con capthca .. – Strae

+4

Muchos bots aún pasan por reCaptcha en mi sitio: \ –

+0

También podría buscar la implementación de http://www.akismet.com en su sitio. Pero esto es generalmente para comentarios spam. Y recuerde, que ReCaptcha y Honey Pot no frustrarán a los spammers humanos. –

14

Pregunta anterior, pero pensé que me gustaría, ya que he estado manteniendo un módulo para Drupal (Honeypot), que utiliza el método de prevención de spam Honeypot junto con una protección basada en el tiempo (los usuarios no pueden enviar formularios en menos de X segundos, y X aumenta exponencialmente con cada envío fallido consecutivo). Usando estos dos métodos, he oído hablar de muchos, muchos sitios (examples) que han eliminado casi todos los correos no deseados automáticos.

He tenido más éxito con Honeypot + timestamp que con cualquier solución basada en CAPTCHA, porque no solo estoy bloqueando la mayoría de los spammers, tampoco soy punishing my users.

8

Con la técnica siguiente, bloqueo el 100% de los spams.

  1. honeypot con pantalla: ninguna. si falla, ejecute una secuencia de comandos adicional para recopilar la dirección IP y escríbala en el archivo .htaccess en deny from line.
  2. cuenta el número de URL en el campo de comentarios. si falló, advierta solo porque esto puede ser humano.
  3. mide el tiempo de publicación. si son menos de 5 segundos, muestre un mensaje de error y permítales que intenten nuevamente porque los humanos pueden escribir bastante rápido con el complemento de autocompletado.
  4. recortar htaccess file dailly con crontab, por lo que las líneas de negación no superarán las 30 líneas (ajuste en consecuencia).

Denegar el acceso con la dirección IP es muy efectivo porque los bots siguen tratando de colarse con las mismas IP (si cambian la IP, entonces pongo esa nueva IP en htaccess, así que no hay problema). Recorto un archivo .htaccess diariamente con crontab automáticamente para que el archivo no sea demasiado grande. Ajusto el número de IP para bloquear, por lo que el mismo bot con la misma IP se bloqueará durante aproximadamente una semana más o menos. Noté que la misma IP es utilizada por bot durante 3 días atacando varias veces.

Los primeros # 1 truco bloquea alrededor del 99% y # 2 cuadras aproximadamente 1% y el bot no pasará por los 2 por lo que # 3 podría no ser necesario.

+0

La rutina anterior parece aumentar las pruebas de bot. Supongo que los robots se vuelven locos porque se les niega el acceso al servidor por completo. Creo que están intentando solucionar cómo rellenar el formulario, pero se niega el acceso desde la segunda vez que acceden, por lo que no pueden decir qué salió mal. Espero que los desalienten y dejen de intentarlo cuando pase el tiempo. –

+1

"honeypot with display: none. If failed ..." Qué significa eso, si display: none failed. ¿Quieres decir si el bot aún envía? Entonces, ¿cómo sabes que es un bot y programáticamente agregarlo a .htaccess? Estoy confundido o esto es trabajo manual. – Goose

Cuestiones relacionadas