quitar - recaptcha console
Detener el spam sin captcha (9)
¿Qué tal una pregunta legible para humanos que le diga al usuario que ponga la primera letra del valor que puso en el campo de primer nombre y la última letra del campo de apellido o algo así?
O muestre algunos campos ocultos que están llenos de JavaScript con valores como el referente y uno más. Verifique la igualdad de estos campos con los que ha almacenado en la sesión anterior. Si los valores están vacíos, el usuario no tiene javascript. Entonces no sería spam. Pero un bot al menos rellena algunos de ellos.
Quiero evitar que los spammers utilicen mi sitio. Pero me parece muy molesto CAPTCHA. No me refiero solo al tipo de "escriba el texto", sino a todo lo que requiera que el usuario pierda el tiempo para demostrar que es humano.
¿Qué puedo hacer aquí?
Combino algunos métodos que parecen bastante exitosos hasta ahora:
Proporcione un campo de entrada con el nombre de
email
y ocúltelo con ladisplay: none
CSSdisplay: none
. Cuando se envía el formulario, compruebe si este campo está vacío. Los bots tienden a llenar esto con una falsa emailaddress.Proporcione otro campo de entrada oculto que contenga la hora en que se carga la página. Compruebe si el tiempo entre la carga y el envío de la página es mayor que el tiempo mínimo que se tarda en completar el formulario. Yo uso entre 5 y 10 segundos.
Luego verifique si el número de parámetros GET es el que usted esperaría. Si la acción de sus formularios es POST y la URL subyacente de su página de envío es
index.php?p=guestbook&sub=submit
, entonces espera 2 parámetros GET. Los bots intentan agregar parámetros GET para que esta verificación falle.Y, finalmente, verifique si HTTP_USER_AGENT está configurado, qué bots a veces no están configurados, y si HTTP_REFERER es la URL de la página de su formulario. Los bots a veces simplemente envían POST a la página de envío, lo que hace que HTTP_REFERER sea otra cosa.
Obtuve la mayor parte de mi información de http://www.braemoor.co.uk/software/antispam.shtml y http://www.nogbspam.com/ .
Dado que es extremadamente difícil evitarlo al 100%, recomiendo leer este artículo de IBM publicado hace 2 años titulado ''Real Web 2.0: Combatando el spam de la Web'', donde el comportamiento de los visitantes y el flujo de trabajo de control se analizan de manera concisa
El spam en la web viene en muchas formas, incluyendo:
- Artículos de spam y artículos vandalizados en wikis
- Comentar spam en weblogs
- Publicaciones de spam en foros, rastreadores de problemas y otros sitios de discusión
- Spam de remitentes (cuando los sitios de spam pretenden remitir a los usuarios a un sitio de destino que enumera los remitentes)
- Entradas de usuarios falsas en las redes sociales.
Tratar con el spam en la web es muy difícil, pero un desarrollador web descuida la prevención del spam en su propio riesgo. En este artículo, y en una segunda parte más adelante, presento técnicas, tecnologías y servicios para combatir los muchos tipos de spam en la Web.
También está vinculado una muy interesante " ... técnica de hashcash para minimizar el spam en Wikis y demás, además del correo electrónico " .
Integre la API de Akismet para filtrar automáticamente las publicaciones de sus usuarios.
Me doy cuenta de que esta es una publicación bastante antigua, sin embargo, encontré una solución interesante llamada "captcha de miel" que es fácil de implementar y no requiere javascript:
Proporcionar un cuadro de texto oculto !
- La mayoría de los spambots estarán encantados de completar el cuadro de texto oculto, lo que le permitirá ignorarlos cortésmente.
- La mayoría de sus usuarios nunca sabrán la diferencia.
Para evitar que un usuario con un lector de pantalla caiga en su trampa, simplemente etiquete el cuadro de texto "Si es humano, déjelo en blanco" o algo parecido.
Tada! Bloqueo de spam no intrusivo! Aquí está el artículo:
http://www.campaignmonitor.com/blog/post/3817/stopping-spambots-with-two-simple-captcha-alternatives
Seguramente deberías seleccionar una cosa Honeypot o BOTCHA.
Si está buscando una solución .NET, el kit de herramientas de control Ajax tiene un control llamado NoBot .
NoBot es un control que intenta proporcionar prevención de bot / spam similar a CAPTCHA sin requerir la interacción del usuario. NoBot tiene el beneficio de ser completamente invisible. Es probable que NoBot sea más relevante para los sitios con poco tráfico donde el spam de blog / comentarios es un problema y no se requiere el 100% de efectividad.
NoBot emplea algunas técnicas anti-bot diferentes:
- Obligando al navegador del cliente a realizar un cálculo configurable de JavaScript y verificando el resultado como parte de la devolución de datos. (Por ejemplo: el cálculo puede ser simple, numérico o también puede involucrar al DOM para una mayor seguridad de que un navegador está involucrado)
- Hacer cumplir un retraso configurable entre el momento en que se solicita un formulario y cuando se puede volver a enviar. (Por ejemplo, es poco probable que un humano complete un formulario en menos de dos segundos)
- Hacer cumplir un límite configurable para la cantidad de solicitudes aceptables por dirección IP por unidad de tiempo. (Por ejemplo: es poco probable que un humano envíe la misma forma más de cinco veces en un minuto)
Más discusión y demostración en este blogpost por Jacques-Louis Chereau en NoBot .
<ajaxToolkit:NoBot
ID="NoBot2"
runat="server"
OnGenerateChallengeAndResponse="CustomChallengeResponse"
ResponseMinimumDelaySeconds="2"
CutoffWindowSeconds="60"
CutoffMaximumInstances="5" />
Tendría cuidado al utilizar trucos CSS o Javascript para garantizar que un usuario sea un verdadero ser humano de la vida real, ya que podría estar presentando problemas de accesibilidad, problemas entre navegadores, etc. Sin mencionar que los robots de spam pueden ser bastante sofisticados, por lo que emplean una pequeña y encantadora pantalla CSS. Los trucos ni siquiera funcionan de todos modos.
Miraría en Akismet.
Además, puede ser creativo en la forma en que valida los datos del usuario. Por ejemplo, supongamos que tiene un formulario de registro que requiere un correo electrónico y una dirección de usuario. Puede ser bastante estricto en la forma en que valida la dirección de correo electrónico, incluso para asegurarse de que el dominio esté realmente configurado para recibir correo y que haya un buzón en ese dominio que coincida con lo que se proporcionó. También puede utilizar la API de Google Maps para probar y geolocalizar una dirección y asegurarse de que sea válida.
Para llevar esto aún más lejos, podría implementar errores de validación "duros" y "blandos". Si la dirección de correo no coincide con una cadena de validación de expresiones regulares, es un error. No poder verificar los registros DNS del dominio para asegurarse de que acepta el correo o de que el buzón existe, es un error "suave". Cuando encuentra un fallo de software, puede solicitar la validación de CAPTCHA. Esperamos que esto reduzca la cantidad de veces que tendría que presionar para la verificación de CAPTCHA, porque si está obteniendo suficiente actividad en el sitio, las personas válidas deben ingresar datos válidos al menos parte del tiempo.
Requerir que Javascript publique bloques de datos una buena cantidad de robots de spam sin interferir con la mayoría de los usuarios.
También puedes usar un truco ingenioso:
<input type="text" id="not_human" name="name" />
<input type="text" name="actual_name" />
<style>
#not_human { display: none }
</style>
La mayoría de los robots rellenarán el primer campo, por lo que puede bloquearlos.