zoukankan      html  css  js  c++  java
  • 【转】asp.net mvc生成验证码

    ASP.NET MVC实现网站验证码功能

    网站添加验证码,主要为防止机器人程序批量注册,或对特定的注册用户用特定程序暴力破解方式,以进行不断的登录、灌水等危害网站的操作。验证码被广泛应用在注册、登录、留言等提交信息到服务器端处理的页面中。

         在ASP.NET网站中应用验证码是很容易的,网上有很多的解决方案。最近在做一个OA项目,因系统采用的ASP.NET MVC框架,同样在登录页中需用到验证码,故需将原来在ASP.NET网站中使用的验证码移植到ASP.NET MVC中。

         原ASP.NET网站用来生成验证码的类文件
    ValidateCode.cs

    Code


        为适合ASP.NET MVC框架,修改其输出图片流的方法CreateValidateGraphic为:

    Code


        在Controller.cs中,添加Action,用来设置将生成的验证码存入Session,并输出验证码图片:

    Code


        调用方式为:在需要使用验证码的页面中,加入<img>标签:
    <img id="valiCode" style="cursor: pointer;" src="../Account/GetValidateCode" alt="验证码" />

        效果如下图:


        到于Account/Login这个Action中的处理,只需加入对Session中验证码的判断:

    Code


        为实现登录页中,点击图片切换验证码,可以登录页中加入此JS代码实现刷新验证码:

    JS Code


        至此,ASP.NET MVC中已成功实现验证码功能。

  • 相关阅读:
    codechef Dynamic GCD [树链剖分 gcd]
    bzoj 4546: codechef XRQRS [可持久化Trie]
    bzoj 4835: 遗忘之树 [树形DP]
    bzoj 4033: [HAOI2015]树上染色 [树形DP]
    bzoj 4591: [Shoi2015]超能粒子炮·改 [lucas定理]
    3167: [Heoi2013]Sao [树形DP]
    bzoj 3812: 主旋律 [容斥原理 状压DP]
    有标号的二分图计数 [生成函数 多项式]
    有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
    BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]
  • 原文地址:https://www.cnblogs.com/jianjialin/p/1625780.html
Copyright © 2011-2022 走看看