打击垃圾邮件机器人

时间:2011-04-11 15:14:12

标签: c# spam spam-prevention

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

以下是我的一些技巧:

  1. 隐藏输入字段(问题:这仍然有效吗?)
  2. 跟踪时间,因为第一个用户输入(专注于FirstName)直到发布表单..人类将花费超过3秒来完成表单(即使使用自动填充),其中机器人需要一秒钟或更少时间来填充在注册和发布它。 (问题:如果我用第一个用户输入启动计时器,我何时应该停止它?)
  3. 在表单标记中添加一个虚假的帖子网​​址,或将表单发​​布到自身,并且只在“提交”按钮上单击操作以使用javascript添加真实的帖子网址。 (问题:想知道新的垃圾邮件机器人是否可以欺骗这个?)
  4. 我很高兴听到我可以采用的其他技术,不使用CAPTCHA,垃圾邮件过滤器,表单验证甚至验证。谢谢

3 个答案:

答案 0 :(得分:3)

一年前,asp.net有一个很好的控件,它在表单上放置了一个隐藏字段。用javascript公式。机器人发布了它 - 它想要结果(将结果存储在会话中)。基本上,因为机器人不会在浏览器中解释表格(太慢)....;)大多数人都被抛弃了。

另外,另一个提示:将隐藏字段放入要发送的电子邮件中。一些(旧的)PHP表单使用邮件程序支持。显然只有一个机器人填满了;)如果不是空的 - >垃圾。

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

答案 1 :(得分:3)

最好有一些闪存,要求你重新连接点(这样它是交互式的,不需要打字),当用户正确地做,你可以发送提交检查。

从不喜欢CAPTCHA,尤其是即使是人类也有问题解决它的奇怪的人:)

答案 2 :(得分:1)

我会说坚持使用Captcha或类似的东西,用户必须输入内容。

使用JavaScript的问题在于并非每个人都启用了javascript,并且有很多人因为各种原因而关闭了它。

现在,如果您想真正跟踪时间,请发送一个隐藏的表单字段,填写服务器时间。当发生回发时,请使用当前时间的delta。显然,如果该领域缺失,那么你就知道有人直接发布了。