2011-04-11 102 views
5

我在网站上有C#表单,并希望阻止垃圾邮件机器人填写它。诀窍是,我想避免CAPTHA或任何其他用户输入以避免丢失单一注册。打击垃圾邮件机器人

这里有一些技巧我在我的脑海:

  1. 隐藏的输入字段(问题:这是仍然有效?)
  2. 跟踪时间,因为第一用户输入(重点名字),直到发布一种形式。人类将花费超过3秒的时间来完成一个表格(甚至是自动填充),其中机器人需要一秒或更少的时间填写注册并发布。 (问题:如果我的第一用户输入启动定时器,当我应该停止吗?)
  3. 放在表单标签假帖子的网址,或邮递的形式本身,而只对提交按钮点击动作来添加一个真正的用javascript发布网址。 (问题:不知道新的垃圾邮件机器人能骗呢?)

我会很高兴听到其他技术,我可以采纳,再次不使用CAPTCHA,垃圾邮件过滤器,表单验证,甚至验证。谢谢

回答

3

一年前,有一个很好的控制asp.net是把一个隐藏字段的形式。用JavaScript公式。机器人将它贴回来 - 它想要结果(将结果首先存储在会话中)。基本上,机器人不会在浏览器中解释表单(太慢)....);大多数只是抛出了那里。

此外,还有一个小窍门:把在隐藏域的电子邮件地址。一些(旧)的php表单使用一个邮件支持这个。显然只有一个机器人才能填补这个空间;)如果不是空的 - >垃圾。

其他人有什么聪明的想法? ;)

3

将是很好的有某种闪光的,要求你重新连接点(以便它是互动的犯规需要打字),并且当用户正确地做它,你可以提交给检查岗。

从来不喜欢CAPTCHA,尤其是那些怪异,甚至人类有问题intepreting吧:)

+0

它仍然需要额外的用户输入,我试图避免这种情况。 – 2011-04-11 15:28:03

+0

+1的验证码,我恨他们太) – BlackBear 2011-04-11 15:44:43

+1

-1提的闪存:) – 2011-04-11 20:40:44

1

我要说坚持使用验证码或者用户必须键入一些类似的事情。

问题与使用JavaScript是不是每个人都已打开JavaScript,并有不少人因为各种原因关闭它。

现在,如果你想真正跟踪时间,被填充到服务器时发送隐藏的表单字段,当发生回发采取的是增量与当前时间。显然,如果该领域缺失,那么你知道有人直接发布。