06/11/2013

Cómo evitar el envío de spam a través de los formularios de nuestro sitio web?

Cómo evitar el envío de spam a través de los formularios de nuestro sitio web?

En todo sitio web, los formularios para publicar comentarios o enviar mensajes se ven seriamente amenazados por los spammers, que a través de bots los utilizan para enviar contenido basura. La medida más habitual para evitar este uso malintencionado es el agregado de un captcha: una prueba que permite determinar si quien está usando el formulario es un humano o una máquina.

La mayoría de los captchas muestran una palabra con las letras distorsionadas (irreconocibles para una máquina) y un campo para que el usuario ingrese su traducción. El problema es que, mientras más campos tenga el formulario, menos inclinados se verán los usuarios a completarlo. En otras palabras, los formularios complejos atraen menos comentarios, mensajes, suscripciones, compras en línea y registros de usuarios nuevos.

Entonces, ¿cómo podemos evitar el envío de spam sin ahuyentar a los usuarios? Algunas opciones:

  • Checkbox. Una checkbox es un pequeño cuadrado que se puede tildar para verificar una acción. Podemos agregar un checkbox para que el usuario confirme que es humano. Requiere que el usuario tenga habilitado JavaScript.
  • Operación aritmética. En vez de descifrar una palabra, el usuario debe resolver una cuenta sencilla. Este filtro es fácil de vulnerar.
  • Videojuego. Muchos sistemas hacen que el usuario supere un simple videojuego para enviar su información. Un buen ejemplo de gamificación. La desventaja es que en muchos casos requieren de plugins externos para funcionar.
  • Campo invisible. Si decidimos evitar cualquier forma de validación con interacción humana, podemos sumar al formulario un campo falso que quede oculto al usuario a través de CSS. Los spambots lo reconocerán de todas maneras y querrán llenarlo automáticamente… pero del lado del servidor podemos rechazar todos los mensajes donde ese campo esté lleno, burlando así a los spambots. Ver tutorial.

Ninguna de estas alternativas a los captcha es invulnerable, pero todas pueden reducir de manera significativa el spam que recibimos sin afectar la experiencia de usuario.

0

angularjs Aplicaciones en Facebook aplicaciones mobile behavioral targeting Botones Call-to-action breadcrumbs breadcrumbs web búsqueda de personal búsqueda facetada Call-to-action buttons Client-side cliente-destacado cms a medida coding comercio electrónico content marketing CSS3 PIE cuanto debe pesar un sitio data-driven web design Datos estructurados Defacement Denegación de servicio Desarrollar una aplicación web desventajas de PhoneGap diseñar newsletters diseño web diseño web argentina diseño web esqueuomórfico Diseño web responsive Diseño web responsivo diseño web santa fe diseño web Smart TV diseño web televisores DOM desde PHP enlaces rotos filtros de búsqueda flash flat web design formularios sitio web fragmentos enriquecidos función de autocompletar futuro de la realidad aumentada html HTML5 html5shiv inbound marketing Initializr interfaces Web para televisores javascript jobs jQuery Mobile Mapbox maquetado html/css maquetador web masonry layout menú de navegación menú desplegable Metodologías ágiles Modernizr MVC Navegación por teclado oferta laboral OpenStreetMap paginas de Facebook Paper js Paper js framework personas Phishing plan de QA Polyfills polymer portfolio-destacados portfolio-inicio programacion de CMS Programadores WordPress página de contacto página de error 404 que es Backbone.js Realidad aumentada Resultados instantáneos server-side skeuomorphic design sliders y usabilidad soporte Internet Explorer Storytelling Underscores usabilidad usabilidad buscadores user-centered design ux velocidad de carga web Vendor prefixes ventajas jQuery Mobile Ventanas integradas versiones antiguas de Internet Explorer WAI-ARIA web components web imprimible Web Semántica WordPress para ecommerce