背景
随着互联网的快速发展,网络安全问题也日益突出。为了防止恶意机器人或自动程序的攻击,越来越多的网站采用了文字点选验证码作为一种有效的安全验证手段。文字点选验证码通过要求用户在一组图像中选择特定的文字或图案,以确认其为真实用户。以下是文字点选验证码成为网络安全的必备工具的原因:
提高安全性:传统的验证码(如数字、字母组合)已被自动程序破解技术攻破,而文字点选验证码增加了识别难度,有效降低了机器攻击的成功率。
用户友好性:相比其他类型的验证码,文字点选验证码更易于用户理解和操作。用户只需点击相关的图片或文字即可完成验证,无需费时费力地输入复杂的字符串。
防止刷号和恶意注册:恶意用户经常利用自动程序进行刷号和恶意注册,文字点选验证码可以有效地防止这些行为,保护网站免受垃圾信息和不良用户的侵扰。
提升用户体验:由于文字点选验证码的操作简单明了,用户在进行验证过程中往往能够快速完成,无需等待复杂图像的加载或文字的输入,从而提升了用户的整体体验。
文字点选验证码
前端接入代码
<script src="captcha.js"></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>
PHP 代码
<?php
include "KgCaptchaSDK.php";
// 填写你的 AppId,在应用管理中获取
$appId = "appId";
// 填写你的 AppSecret,在应用管理中获取
$appSecret = "appSecret";
{
mathJaxContainer[0]}appId, $appSecret);
// 填写应用服务域名,在应用管理中获取
$request->appCdn = "https://cdn.kgcaptcha.com";
// 前端验证成功后颁发的 token,有效期为两分钟
{
mathJaxContainer[1]}_POST["kgCaptchaToken"];
// 当安全策略中的防控等级为3时必须填写
$request->userId = "kgCaptchaDemo";
// 请求超时时间,秒
$request->connectTimeout = 10;
{
mathJaxContainer[2]}request->sendRequest();
if ($requestResult->code === 0) {
// 验签成功逻辑处理
echo "验证通过";
} else {
// 验签失败逻辑处理
echo "验证失败,错误代码:{$requestResult->code}, 错误信息:{$requestResult->msg}";
}
效果展示
结尾的话
总之,文字点选验证码作为一种简单、安全且用户友好的验证方式,已经在各个领域的网站中得到广泛应用。它不仅提高了网络安全性,还改善了用户体验,成为了保护网站免受恶意攻击的必备工具。
最后
SDK开源地址:https://github.com/KgCaptcha,顺便做了一个演示:https://www.kgcaptcha.com/demo/