想用C# .Net生成行为验证码,还得看这篇文章

本文介绍了如何在C#.Net环境中使用KgCaptchaSDK来实现网站登录或信息输入模块的验证码功能。前端通过引入cdn链接并设置相关事件处理,后端则处理验证请求,通过AppId、AppSecret和前端传来的token进行验签,实现安全性增强。
摘要由CSDN通过智能技术生成

前言

为了增强网站的安全性,我们在网站的登录模块或信息输入模块加入了验证码功能,那么在C# .Net中如何实现验证码呢?本文借助KgCaptcha实现了这个功能。

前端代码

<script src="https://cdn.kgcaptcha.com/captcha.js?appid=94dATYQa"></script>
<script>
kg.captcha({
    // 绑定元素,验证框显示区域
    bind: "#captchaBox",
    // 验证成功事务处理
    success: function(e) {
        console.log(e);
    },
    // 验证失败事务处理
    failure: function(e) {
        console.log(e);
    },
    // 点击刷新按钮时触发
    refresh: function(e) {
        console.log(e);
    }
});
</script>
<div id="captchaBox">载入中 ...</div>

C#代码

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){  // 有数据处理
            // 填写你的 AppId,在应用管理中获取
            appId = "94dATYQa";
            // 填写你的 AppSecret,在应用管理中获取
            appSecret = "6u2BhEgORjQPkO1c69mpg2z5lLTLHf6a";
            var request = new kgCaptcha(appId, appSecret);
            // 前端验证成功后颁发的 token,有效期两分钟
            request.token = Request.Form["kgCaptchaToken"];
            // 填写应用服务域名,在应用管理中获取
            request.appCdn = "https://cdn.kgcaptcha.com";
            // 当安全策略中的防控等级为3时必须填写,一般情况下可以忽略
            // 可以填写用户输入的登录帐号(如:Request.Form["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);
        }
        Response.Redirect("index.html");
    }
}

效果展示

相关链接

官方地址:

https://www.kgcaptcha.com

SDK下载:

https://github.com/KgCaptcha

效果演示:

https://www.kgcaptcha.com/demo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值