Mic*_*ior 11

尝试在页面中放置一个空字段,通过CSS隐藏它并检查它是否已填写.(或许旁边有一个说明,如果用户已禁用CSS,则将其留空.)许多机器人将填充每个字段,因此你可以检查这个字段是否为空.

  • @casablanca我敢肯定那些阅读CAPTCHAS的机器人将首先在2020年在日本制造,它们看起来像人形机器人,并且有200英寸显示器的生物相机(实际上是Jeff Atwood的眼球).他们也能够以聪明的方式填写表格,因此您无法通过机器人看到它.接下来,他们将能够切换SIM卡以更改其IP地址.如果发明了一种新的母语,他们可以立即解码它.那是未来的食物. (2认同)

cas*_*nca 8

CAPTCHA是最着名的解决方案,但是如果你正在寻找简单的东西,我发现这很有效:将你的表单的提交URL设置为空白(或无效的东西)并通过JavaScript引入它.到目前为止,我还没有看到执行JavaScript以获取过去表单的机器人.这确实意味着用户需要启用JavaScript,但大多数都会这样做.

例:

<form id="myform" action="" onsubmit="return doSubmit();">
...
</form>

<script type="text/javascript">
function doSubmit() {
  // You can also do any validation here if required
  document.getElementById('myform').action = 'real_submit_url';
  return true;
}
</script>
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记用户体验:http://meta.stackexchange.com/questions/48840/todays-captcha-wtf-closed (2认同)