Pregunta

Estoy intentando reducir el spam en nuestro sitio web.(En realidad es bastante reciente).

Creo recordar haber leído en alguna parte que los spammers no ejecutan Javascript en el sitio.

¿Es eso cierto?Y si es así, ¿podría simplemente verificar si JavaScript está deshabilitado y luego darse cuenta de que es así? probable que es spam?

¿Fue útil?

Solución

Todavía hay una gran cantidad de personas que ejecutan Javascript desactivado.

Alternativamente, he tenido bastante éxito al detener el spam de formularios usando CSS.Básicamente, incluya un campo de entrada y una etiqueta que esté oculta mediante CSS (display: none;) y una vez enviado, verifique si se ha ingresado algo en el campo.

Generalmente etiqueto el campo como filtro de spam con una instrucción para no coloque cualquier cosa en el campo, pero todos los navegadores más nuevos ocultarán correctamente el bloque.

reCAPTCHA También es sorprendentemente fácil de implementar.

Otros consejos

controlar http://kahi.cz/wordpress/ravens-antispam-plugin/ por una buena respuesta

si se pone

<noscript><p><label for="websiteurl99f">Please type "e73053": </label><input type="text" name="websiteurl99f" id="websiteurl99f" /></p></noscript>
        <script type="text/javascript">/* <![CDATA[ */ document.write('<div><input type="hidden" name="websiteurl99f" value="e' + '73053" \/><\/div>'); /* ]]> */</script>

entonces los usuarios de javascript no ven nada, los usuarios que no son de js simplemente escriben una palabra

Si un spammer se dirige específicamente a usted, no le llevará mucho tiempo codificarlo, pero debería ser bueno para los spammers.

Del mismo modo, agregar un campo ficticio y luego usar CSS para ocultarlo es una buena manera de engañar a los bots.Si se envía el campo, usted sabe que probablemente un no humano completó el formulario.

Especialmente efectivo si etiqueta/nombra el campo de alguna manera como URL o sitio web.

Puede verificar: tener JavaScript que complete un campo de formulario oculto con un valor específico después la página se carga.Luego, cuando la página se vuelva a publicar en el servidor, verifique que el campo de formulario oculto tenga el valor esperado.Si no está ahí, significa que JavaScript no se ejecutó.

En cuanto a si debes asumir que es spam es otra historia completamente diferente, y en realidad no tiene una respuesta segura.Podrías simplemente tener un <noscript> etiqueta y haga que le indique al usuario que su envío no se realizará a menos que habilite JavaScript.

Sin embargo, una vez que tenga JavaScript ejecutándose, los spammers simplemente usarán otra solución para eso.:)

No recuerdo dónde vi este método, pero a los robots de spam les gusta completar formularios.¿Ha considerado poner un campo de formulario que esté oculto con javascript (y diga no completar este campo si el usuario no tiene JavaScript)?De esta manera, si algo completa este campo, podrás ignorarlo como spam.

¿Tuviste suerte con esto?Creo que algunos navegadores basados ​​en texto han implementado soporte básico de JavaScript, así que tal vez los robots de spam también lo hayan hecho.

De lo contrario, estoy considerando usar un captcha para usuarios sin JavaScript y alguna verificación automática de JavaScript para otros usuarios.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top