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

  • 相关阅读:
    Datatables 在asp.net mvc
    VS Code开发调试.NET Core
    领域模型中的用户设计
    MVC数组模型绑定
    Java RMI(远程方法调用) 实例与分析 (转)
    oracle转mysql总结(转)
    Windows远程桌面连接Ubuntu 14.04 (转)
    oracle转Mysql中,varchar2(10)和number应该转换为什么类型? (转)
    MySQL与Oracle的语法区别详细对比 (转)
    python购物淫秽数据分析(2)
  • 原文地址:https://www.cnblogs.com/shanyou/p/3491696.html
Copyright © 2011-2022 走看看