Tendría cuidado al usar CSS o trucos de Javascript para asegurar que el usuario sea un verdadero ser humano real, ya que podría estar presentando problemas de accesibilidad, problemas de navegador, etc. Sin mencionar que los bots de spam pueden ser bastante sofisticados, por lo que pequeños trucos de exhibición de CSS lindos ni siquiera pueden funcionar de todos modos.
Me gustaría ver en Akismet.
Además, puede ser creativo en la forma de validar 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 duro en la forma de validar la dirección de correo electrónico, incluso yendo tan lejos como 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 usar Google Maps API para tratar de 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, entonces es un error grave. No poder verificar los registros DNS del dominio para asegurar que acepta el correo, o que el buzón existe, es un error "suave". Cuando encuentre un error leve, podría solicitar la validación de CAPTCHA. Con suerte, esto reduciría 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 deberían ingresar datos válidos al menos algunas veces!
duplicado exacto de [¿Prácticas aproximaciones CAPTCHA basadas en imágenes?] (Http://stackoverflow.com/questions/8472/practical-non-image-based-captcha-approaches), y también http: // stackoverflow. com/q/111576/10080. Vea mis respuestas (y las demás) allí. – AviD