C#代码实现自适应身份验证

4
有没有推荐的C#代码/类/开源工具,用于自适应身份验证?
我们应用程序的一些功能使用验证码来避免垃圾邮件或不当行为,但不幸的是这也会减慢我们真正用户的速度。我希望只在某些参数看起来“可疑”的情况下显示验证码,例如不寻常的IP地址位置、相同账户名称的更改IP、不寻常的浏览器配置(可能暗示匿名化服务)等等。
我显然可以为此编写代码,但我认为这是一个足够常见的问题,公共资源将存在以帮助解决。我们目前使用谷歌Catchpa服务,显然任何包装它的解决方案都将非常理想。

也许你应该给你的问题换一个不同的标题来吸引更多的回答。你是在寻找指标来发现一个机器人可能正在(滥)使用你的网站吗? - k3b
1个回答

2
我认为最好的方法是结合一些已经可用的非侵入式技术和工具来处理实际的机器人/垃圾邮件检测。在您确定可能存在风险之后,您可以要求访问者进行CAPTCHA验证,然后再继续。
我不知道是否有一个开箱即用的CAPTCHA解决方案,可以根据某些条件显示自己。这可能是因为“机器人”或“垃圾邮件”的定义在很大程度上是主观的,并且一直在变化。此外,大多数现代机器人没有问题将自己标识为您的普通用户代理。
话虽如此,如果您最终不得不“自己动手”,我建议在以下任何一种情况下显示CAPTCHA:
- HttpContext.Current.Request.Browser.Crawler返回true - Akismet (http://akismetapi.codeplex.com/) 对任何输入文本返回正匹配 - HoneyPot 返回正匹配 - 过度锤击(计算Session中的postbacks和/或page_loads) - 过度登录尝试 - NoBot 返回正匹配
希望这可以帮助到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接