zoukankan      html  css  js  c++  java
  • 验证码类库CaptchaMvc

    CaptchaMvc是一个有弹性的、简单的解决方案,它能够解决你项目中所有与验证码相关的问题。你需要做的所有事情就是向你的项目中添加一个类库,添加之后验证码就准备就绪了。该项目拥有使用验证码所需要的所有内容:

    • 有两种类型的验证码,普通的和数学的
    • 支持在session或者cookie中存储验证码
    • 支持“智能验证码”
    • 能够很容易地扩展默认实现

    CaptchaMvc项目也在不断地演变,我会尽量支持所有人提出的需求。我认为这些就是区分它和其他项目的主要内容。CaptchaMvc项目支持ASP.NET MVC 3、4和5,这些版本之间几乎没有什么不同,仅仅是类库中使用了MVC 4中添加的AllowAnonymousAttribute属性。

    这个项目的智能验证码是特色:

    智能验证码让验证码对用户更加友好,在最好的情况下用户永远不会看到验证码。有多种技术能够让验证码更加友好。例如,有一种技术称为“假输入域”。CaptchaMvc支持多种技术能够区分用户和机器人。让我简短的介绍一下每一种技术:

    • 假的输入(类名—FakeInputIntelligencePolicy)——使用一个“假的”输入域,正如我前面所写的。
    • JavaScript(类名—JavaScriptIntelligencePolicy)——尝试着去检查用户是否启用了JavaScript,如果用户禁用了JavaScript那么用户必须输入一个验证码
    • 响应时间(类名—ResponseTimeIntelligencePolicy)——允许你设置一个时间,在该时间内验证码将被认为无效。假如一个机器人请求一个表单,填充它并提交…页面加载和提交之前的间隔时间可能会少于一秒——没有人能够做到这一点。
    • 多种方式的组合(类名—MultiIntelligencePolicy)——允许你将不同的策略联合到一起。

    设置“智能验证码”的代码示例,下面是一个作者的网站上使用的代码示例:

    CaptchaUtils.CaptchaManager.IntelligencePolicy = new 
    MultiIntelligencePolicy(
    new FakeInputIntelligencePolicy(),
    new JavaScriptIntelligencePolicy(),
    new ResponseTimeIntelligencePolicy(TimeSpan.FromSeconds(3)));

    采访CaptchaMvc的创建者Vyacheslav Volkov

  • 相关阅读:
    对Spring 框架 AOP(面向切面)的理解
    页面自动刷新
    页面通过ajax传值到后台,后台返回值展示在页面输入框
    java中怎么跳出两层for循环
    人的三种思维角度
    我理解的战争(程序员是需要有立场的)
    我所理解的JavaScript中的prototype与__proto__、constructor
    一个"失速"项目的总结
    TDD学习笔记
    Java SQL动态生成库
  • 原文地址:https://www.cnblogs.com/shanyou/p/3491696.html
Copyright © 2011-2022 走看看