C#实现图形验证码

贾迎春
• 阅读 353

前言

C# 是一个现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,由 Ecma 和 ISO 核准认可的。突发奇想,动手开发一个C#滑动拼图验证码,下面是我开发过程的记录。

C#实现图形验证码

准备工作

本文使用IIS搭建环境,同时确保项目运行正常。

C#实现图形验证码

目录结构

C#实现图形验证码

核心代码

  • noramal.html ```html

    凯格行为验证码 - Net C# demo

    ```
  • demo.aspx.cs

    using System;
    using KgCaptchaSDK;
    

public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) {

    // 后端处理
    string html, appId, appSecret, Token;
    if (Request.Form.ToString().Length > 0){  // 有数据处理

        string cty = Request.QueryString["cty"];
        // 设置 AppId 及 AppSecret,在应用管理中获取
        if (cty == "1"){
            appId = "appId";
            appSecret = "appSecret";
        }
        // 填写你的 AppId 和 AppSecret,在应用管理中获取
        var request = new kgCaptcha(appId, appSecret);

        // 前端验证成功后颁发的 token,有效期为两分钟
        request.token = Request.Form["kgCaptchaToken"];

        // 填写应用服务域名,在应用管理中获取
        request.appCdn = "https://cdn.kgcaptcha.com";

        // 当安全策略中的防控等级为3时必须填写,一般情况下可以忽略
        // 可以填写用户输入的登录帐号(如:$_POST["username"]),可拦截同一帐号多次尝试等行为
        request.userId = "kgCaptchaDemo";

        // 请求超时时间,秒
        request.connectTimeout = 5;

        // 发送验证请求
        var requestResult = request.sendRequest();

        if (requestResult.code == 0) {
            // 验签成功逻辑处理 ***

            // 这里做验证通过后的数据处理
            // 如登录/注册场景,这里通常查询数据库、校验密码、进行登录或注册等动作处理
            // 如短信场景,这里可以开始向用户发送短信等动作处理
            // ...

            html = "<script>alert('验证通过');history.back();</script>";
        } else {
            // 验签失败逻辑处理
            html = "<script>alert(\"" + requestResult.msg + " - " + requestResult.code + "\");history.back();</script>";
        }

        // 输出结果
        Response.Write(html);
    } else {
        Response.Redirect("index.html");
    }
}

}

```

最后

SDK开源地址:https://github.com/KgCaptcha,顺便做了一个演示:https://www.kgcaptcha.com/demo/

点赞
收藏
评论区
推荐文章
宙哈哈 宙哈哈
1年前
Vue.js 滑动拼图验证码实现笔记
关于验证码的使用场景还是非常多的,很多网站上的验证码可谓是五花八门,下面是我使用Vue.js实现滑动拼图验证码做的一个笔记。
宙哈哈 宙哈哈
1年前
一个Node.js图形验证码的生成
本文是我在一次基于Node.js环境下开发滑动拼图验证码,下面是我对这次项目的总结。
HelloWorld官方 HelloWorld官方
4年前
C++概述
概述C是静态,可编译,通用,大小写敏感,格式自由的编程语言,它支持程序化,面向对象的,和泛型编程方式。C被看作是中间层语言,因为它同时包含了低级语言和高级语言的特性。C是于1979年在新泽西的茉莉山丘的贝尔实验室由BjarneStroustrup开发的,它是C语言的加强版,最开始它被称作“CwithClasses”,但是
宙哈哈 宙哈哈
1年前
C#滑动拼图验证码实现笔记
C是一个现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,由Ecma和ISO核准认可的。突发奇想,动手开发一个C滑动拼图验证码,下面是我开发过程的记录。
贾迎春 贾迎春
1年前
Vue.js 实现行为验证码
关于验证码的使用场景还是非常多的,很多网站上的验证码可谓是五花八门,下面是我使用Vue.js实现滑动拼图验证码做的一个笔记。
Easter79 Easter79
3年前
TypeScript 教程
TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。安德斯·海尔斯伯格,C的首席架构师,已工作于TypeScript的开发。\1\TypeScript扩展了JavaScript的句法,所以任何现有的JavaScript程序可以不
小万哥 小万哥
7个月前
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java基础什么是JavaJava是一种由SunMicrosystems于1995年首次发布的编程语言和计算平台。Java是一种通用的、基于类的、面向对象的编程语言,旨在减少实现依赖性。它是一个应用程序开发的计算平台。Java快速、安全、可靠,因此在笔记本
贾迎春
贾迎春
Lv1
春江潮水连海平,海上明月共潮生。
文章
9
粉丝
1
获赞
3