我努力学习尽可能多的有关运行高调网站。 我设计了一些用户注册屏幕,并考虑典型的CAPTCHA,或者讨厌的替代品。 在我看来,让他们或者导致可访问性问题,或者干脆困扰的潜在客户,并抑制其注册过程。
我的问题是垃圾邮件机器人是否承认并触发JavaScript事件,如keydown
或keypress
在输入栏上的事件。 据我所知,大多数机器人只需通过action属性做到表单提交,不编程“填写” Web表单。
从理论上讲,我可以添加JavaScript是类似以下内容:
<input name="email" />
<input name="human" type="hidden" />
<script>
var emailField = document.getElementById( 'email' );
emailField.onkeydown = function( ) {
document.getElementById( 'human' ).value = "human";
};
</script>
然后,在服务器端,我可以验证后数据包括隐藏的表单字段“人”的价值。
这是一个可行的解决方案,至少是有效的在一堆乱,难以读取字符键入? 将利用由服务器随机生成的值是重复的尝试不是“人”的静态值更有帮助?