我考虑过使用隐藏字段方法,但我想很多机器人都可以通过简单地查找隐藏属性来解决这个问题。我只是不想让另一个字段或部分使表单比需要的时间更长。
答案 0 :(得分:1)
我已经看到成功过度简化的“验证码”做了诸如问what is 1 + 2
而不是难以阅读的事情。
如上所述,复选框大致具有可比性(可以向任何一个方向发展,“我是人类”或“我不是人类”)。对于后者,我建议使用由display:none
标头中的类定义的<style>
样式来防止它呈现给人类,因为脚本应该更难以检测。 / p>
另一个简单的技巧(因此里程有限)将需要javascript。这样的事情应该阻止大多数垃圾邮件:
<form id="form1" action="how-to-enable-js.html">
...
</form>
<script type="text/javascript">
document.getElementById("form1").action="real_action.cgi";
</script>
“how-to-enable-js.html”文件将存在于同一目录中(或者提供路径),并提供有关如何启用JavaScript的说明,以便表单可以转到正确的位置(“real_action”的CGI“)。
任何实际使用真实引擎呈现页面的spambot都可以绕过此测试。
你可以很容易地做到这三点。