前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于验证码,你不知道的一些问题!

关于验证码,你不知道的一些问题!

原创
作者头像
用户10417561
发布2023-05-10 17:29:33
4900
发布2023-05-10 17:29:33
举报
文章被收录于专栏:norhonenorhone

开头的话

关于验证码,大家也许会有很多疑问,下面我总结了一些常见问题。

什么是验证码?

验证码(CAPTCHA)全称为:Completely Automated Public Turing test to tell Computers and Humans Apart,全自动区分计算机和人类的图灵测试,是一种区分用户是计算机还是人的公共全自动程序。

验证码有什么作用?

结合我们的日常生活,我们发现验证码通常出现在登录、注册、领优惠券、购买游戏装备、购票、发帖等场景。验证码有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,验证码很大程度上是用来判断操作是人为还是机器人。

行为验证码的原理是什么?

针对用户产生的行为轨迹数据进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息,快速、准确的返回人机判定结果,故而机器识别+模拟则不易通过。

验证码的类型都有哪些?

1、数字、字母、中文组合:以图片的形式展示字母、数字、中文混合组合,此类验证码一般由4位组成。

2、短信验证码:比较常见的验证码类型,用户填好手机号码,单击获取验证码后,手机上就能收到短信验证码。

3、行为验证码:智能无感、滑动拼图、文字点选、语序点选、字体识别、空间推理等。

怎样防止恶意刷短信验证?

恶意短信验证,属于短信轰炸的一种,用户端表现为高频收到验证短信内容,用户体验差。对公司来讲,大量的恶意短信验证,增加公司运营成本,支付额外的短信运营费用。

防止这种恶意行为,方式之一是可以增加验证码校验。发送短信验证码时,可要求通过验证码。同时在验证码请求错误时,要重置验证码,防止图片验证码识别软件尝试多次识别。

前端代码:

代码语言:javascript
复制
<script src="captcha.js?appid=xxx"></script>
<script>
kg.captcha({
    // 绑定弹窗按钮
    button: "#captchaButton",
    // 验证成功事务处理
    success: function (e) {
        // 验证成功,直接提交表单
        // form1.submit();
        console.log(e);
    },
    // 验证失败事务处理
    failure: function (e) {
        console.log(e);
    },
    // 点击刷新按钮时触发
    refresh: function (e) {
        console.log(e);
    }
});
</script>
<a id="captchaButton">点击弹出验证窗口</a>

后端代码:

代码语言:javascript
复制
<?php
include "public/KgCaptchaSDK.php";
// 填写你的 AppId,在应用管理中获取
$appId = "xxx";
// 填写你的 AppSecret,在应用管理中获取
$appSecret = "xxx";
$request = new kgCaptcha($appId, $appSecret);
// 填写应用服务域名,在应用管理中获取
$request->appCdn = "https://cdn.kgcaptcha.com";
// 前端验证成功后颁发的 token,有效期为两分钟
$request->token = $_POST["kgCaptchaToken"];
// 当安全策略中的防控等级为3时必须填写
$request->userId = "kgCaptchaDemo";
// 请求超时时间,秒
$request->connectTimeout = 10;
$requestResult = $request->sendRequest();
if ($requestResult->code === 0) {
    // 验签成功逻辑处理
    echo "验证通过";
} else {
    // 验签失败逻辑处理
    echo "验证失败,错误代码:{$requestResult->code}, 错误信息:{$requestResult->msg}";
}

最后

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 开头的话
  • 什么是验证码?
  • 验证码有什么作用?
  • 行为验证码的原理是什么?
  • 验证码的类型都有哪些?
  • 怎样防止恶意刷短信验证?
    • 前端代码:
      • 后端代码:
      • 最后
      相关产品与服务
      验证码
      腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档