图形验证码

举报
yd_253055894 发表于 2023/03/10 14:51:04 2023/03/10
【摘要】 图形验证码是一些没有规则的图文的组合

一、图形验证码是什么?

图形验证码是一些没有规则的图文的组合,参考下图

二、图形验证码有什么用?

防止恶意攻击者采用恶意工具批量注册账号或大量频繁调用某些请求,给服务器造成压力,占用大量的系统资源。

三、图形验证码怎么实现?

后台代码

<?php
include "public/KgCaptchaSDK.php";

// 填写你的 AppId,在应用管理中获取
$appId = "94dATYQa";

// 填写你的 AppSecret,在应用管理中获取
$appSecret = "6u2BhEgORjQPkO1c69mpg2z5lLTLHf6a";

$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}";
}

前端代码

<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>


四、相关链接

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。