Formularios de contacto, bots y spam descarado

Depositphotos 52422737 s

El antispam es un tema muy importante con el correo electrónico. La gente ha intentado mantener limpia su bandeja de entrada durante años con todo, desde los molestos spamarrest herramientas a filtros simples de correo basura con su asombrosa capacidad para falsos positivos. De hecho, el correo no deseado se convirtió en una molestia tal que el gobierno incluso intervino (imagínense eso) y redactó leyes al respecto. Pero hay una forma de spam que aún está en manos de los vigilantes para atrapar ... y espero que me ayuden.

Comenzó como una simple molestia, pero se convirtió en una interrupción total del negocio. Cada envío de formulario activa automáticamente un cliente potencial en mi CRM. Lo que significa que durante el último año, he tenido muchísimos clientes potenciales para vender a empresas de SEO que pueden llevarme a la página 1 de Google. Entonces, me propuse crear un gestor de formularios casero que comenzaría a identificar y eliminar a estos desagradables spammers SIN riesgo de falsos positivos. Porque, después de todo, aunque odio el spam, odio aún más las oportunidades perdidas.

Para empezar, reduje los tipos de spam que podría eliminar en dos categorías:

  1. El ser humano real que envía datos erróneos solo para acceder a esa cookie detrás del formulario ... la prueba gratuita, el informe técnico gratuito, el marketing por goteo contenido, etc.
  2. Los bots que rastrean la web enviando enlaces de afiliados y datos erróneos a cualquier formulario que puedan encontrar.

Además, como parte de este pequeño proyecto colaborativo (al que puedes unirte mediante comentario aquí) déjame agregar el siguiente parámetro: NO CAPTCHA. Yo mismo no puedo leer las malditas cosas la mitad del tiempo y hay motivos para temer que el propio CAPTCHA reduzca la conversión de clientes potenciales solo por medio de la dificultad.

Por lo tanto, el truco consiste en crear una serie de pruebas lógicas contra las cuales se pueden ejecutar los datos enviados del formulario que identificarán positivamente el spam un porcentaje significativo de las veces, mientras que casi nunca bloquean clientes potenciales legítimos.

Aquí es donde estoy:

  1. Inserte una entrada en el formulario, escriba = texto, pero estilo = ”mostrar: ninguno;”. Los bots naturalmente inyectarán un valor en cualquier campo de entrada de texto en un esfuerzo por omitir los verificadores de campo requeridos. Sin embargo, si este campo en particular fuera enviado con datos en él, podemos saber con certeza que un humano no lo hizo.
  2. Busque "asdf". Simple, lo sé, pero un informe de spam histórico mostró que esta era una forma bastante popular de envíos falsos. Si la cadena asdf aparece en cualquier campo, es spam.
  3. Compruebe si hay caracteres repetidos. Lo intenté y lo intenté, pero no pude pensar en una razón legítima por la que un carácter deba repetirse más de 3 veces en un nombre, nombre de empresa o campo de dirección. Si puedes convencerme de lo contrario, genial. Por ahora, "XXXX Consulting Company" no se convertirá en un líder para mí.
  4. Compruebe si hay cadenas idénticas. Aparte del vecino de Tim Allen, Wilson Wilson, nadie que yo conozca tiene el mismo valor de cadena en todos los campos de un formulario de contacto. Si demasiados campos son idénticos, es spam.
  5. Finalmente, y esta es la clave: compruebe las URL a las que no pertenecen. Uno de los casos más clásicos de spam es colocar una URL en un campo al que no pertenece. Fuera del cuadro de "mensaje" del área de texto, no se debe utilizar una URL para el nombre, el número de teléfono, el nombre de la empresa o de otra manera. Si lo intentan, es spam.

Estas 5 pruebas lógicas han reducido los envíos de spam en más del 70% en el último mes en nuestro formulario de contacto gratuito producto. Me encantaría aumentar aún más esa cifra. La mayor cantidad de envíos de spam que aún se escabullen son ofertas de SEO de mala reputación. Entonces, aquí está el próximo desafío: ¿Puede encontrar una serie de términos clave y un umbral de densidad que indiquen razonablemente que el contenido de la presentación está hablando de SEO? Por supuesto, esto podría ser una mala idea para que los chicos de SlingShot lo implementen en su sitio, pero para el resto de nosotros, encajaría.

Los desarrolladores web se unen: ¿qué más se debería probar?

5 Comentarios

  1. 1

    Me encanta la idea de agregar un campo con display: none. ¡Es ingenioso! Escribí una publicación hace muchas lunas sobre lo terrible que es la tecnología Captcha ... castiga a los inocentes y agrega un paso adicional e innecesario para los usuarios. Es la antítesis de la experiencia del usuario. ¡Puedo poner a prueba tu campo oculto!

  2. 2

    Me encanta la idea de agregar un campo con display: none. ¡Es ingenioso! Escribí una publicación hace muchas lunas sobre lo terrible que es la tecnología Captcha ... castiga a los inocentes y agrega un paso adicional e innecesario para los usuarios. Es la antítesis de la experiencia del usuario. ¡Puedo poner a prueba tu campo oculto!

  3. 3

    Funciona muy bien, pero si lo implementa en formularios existentes, es posible que el efecto tarde un poco en propagarse. Los bots a menudo almacenan en caché su formulario y lo publican como lo vieron hace semanas hasta que regresan y lo ven de nuevo. Por lo tanto, siempre que publiquen en su formulario en caché, lo harán. En aproximadamente un mes, debería comenzar a ver resultados.

  4. 4

    1. Un temporizador;
    2. Es difícil adivinar los nombres de los campos de formulario;
    3. validación del formulario del lado del servidor;
    4. un campo de formulario que no se espera que tenga un valor;
    5. hacer que JavaScript actualice un campo oculto con el envío de un formulario;
    6. cambiar los atributos del formulario al enviar con JavaScript;

    # 1 es mi favorito. Inicie un temporizador tan pronto como se cargue la página de contacto (o cualquier página). En el lado del servidor, establezca un tiempo requerido esperado para completar el formulario. Si se envía demasiado pronto, el usuario verá un mensaje / cuenta desactivada / el administrador recibe un correo electrónico / etc. Este en realidad elimina el 99.9% de cualquier tipo de actividad de bot.

    # 2 almacene los nombres de los campos en una sesión y asigne nombres aleatorios a los campos. Hace que sea difícil de aprender para un bot.

    # 3 este es importante. El correo electrónico se puede verificar con mucha precisión con expresiones regulares, se supone que un campo de número de teléfono contiene 10 números, 2 o más campos con el mismo valor = bot, etc.

    # 4 explica en su artículo, 5 y 6 algunas opciones de script.

  5. 5

    Gracias por la publicación, Nick. Aprecia la acción.

    Martin: Creo que el temporizador es una gran idea. Supongo que un bot lo atravesaría y el umbral sería algo bajo ... ¿tal vez 5 segundos? Solo tengo curiosidad por los formularios prellenados para usuarios reales, así como para los usuarios que regresan a la página y saben de inmediato que quieren completar el formulario. solo mis dos centavos. Sé que llego un año tarde en esta publicación, así que no espero mucha respuesta, solo la pongo con la esperanza 🙂

    ¡gracias de nuevo!

    -Dave

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.