用于自适应认证的C#代码

时间:2010-09-12 18:21:23

标签: c# asp.net security open-source captcha

是否有推荐用于自适应身份验证的C#代码/类/开源/工具?

我们的应用程序的某些功能使用Captcha来避免垃圾邮件或不当行为,但遗憾的是,这也会降低我们的真实用户的速度。我希望只有当某些参数看起来“阴暗”时才会显示验证码,例如不寻常的IP地址位置,更改相同帐户名称的IP,不寻常的浏览器配置(可能暗示匿名服务)等等。

我显然可以为此编写代码,但我认为这是一个常见的问题,公共资源可以帮助。我们目前使用谷歌Catchpa服务,显然任何包装的解决方案都是绝对理想的。

1 个答案:

答案 0 :(得分:2)

我认为最好的办法是结合一些现有的非突兀技术和工具来处理实际的僵尸/垃圾邮件检测。确定可能存在的风险后,您可以在继续之前提示访问者进行CAPTCHA验证。

我不知道开箱即用的CAPTCHA解决方案会根据某些标准显示出来。这可能是因为定义“机器人”或“垃圾邮件”的内容在很大程度上是主观的,并且总是在变化。此外,大多数现代机器人都可以将自己标识为您的花园式用户代理。

那就是说,如果你最终不得不“滚动自己”,如果以下任何一种情况属实,我建议你出示CAPTCHA:

  • HttpContext.Current.Request.Browser.Crawler 返回true
  • Akismet(http://akismetapi.codeplex.com/)为任何输入文本返回正匹配
  • HoneyPot返回正匹配
  • 过度锤击(在会话中计算回发和/或page_loads)
  • 过度登录尝试
  • NoBot返回正匹配

希望这有帮助