一、图形验证码是什么?
图形验证码是一些没有规定的图文的组合,参考下图
二、图形验证码有什么用?
避免歹意攻击者采纳歹意工具批量注册账号或大量频繁调用某些申请,给服务器造成压力,占用大量的系统资源。
三、图形验证码怎么实现?
后盾代码
<?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/