c# - 如何实现 Stack Overflow 的 "are you a human"特性?

标签 c# asp.net asp.net-mvc

在此站点上,如果您点击太多或发表评论太快或类似的事情,您将被重定向到“你是人吗”屏幕。有人知道如何做类似的事情吗?

最佳答案

这几乎可以肯定是一种试探法,它试图“猜测”用户是某种形式的自动化过程,而不是人,例如:

  • 连续超过“x”次要求做同样的事情
  • 在“y”时间段内有超过“x”个 Action

通常,“x”和“y”值会被表述为“真人”不太可能做的值,例如:

  • 连续 5 次编辑相同的答案
  • 在 1 分钟内否决 10 个问题

一旦你有了你的规则集,你就可以实现一些代码来在每个请求开始时检查它们,无论是在 Page_Load 中调用的方法中,还是在母版页中,还是在 asp.net 中管道,这很容易! ;)

关于c# - 如何实现 Stack Overflow 的 "are you a human"特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380636/

相关文章:

c# - 在 EF6 中使用枚举作为 FK

c# - 网页作为调度程序?

c# - GridView 不可见行显示在空数据行中

c# - 如何使用 DictionaryModelBinder?

android - MVC网站调用WCF比较好或者MVC直接调用数据库操作比较好

c# - Entity Framework 代码首先多对多返回对象 null

c# - 保存时文件重复搜索

c# - 无需使用 API 或 WMI 即可获取监视器显示名称?

c# - 尽管有错误处理,Windows 8.1 XAML 应用程序还是崩溃

asp.net-mvc - 如何在 Html.ValidationSummary 中指定数据注释错误的顺序