Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >业务安全(2)-天御验证码

业务安全(2)-天御验证码

原创
作者头像
张瞳
发布于 2020-12-02 09:37:29
发布于 2020-12-02 09:37:29
2.5K0
举报

一、前言

此系列将写一个系列给大家介绍腾讯云上的业务安全产品,希望加深大家对于腾讯业务安全产品的了解和熟悉,使用。

随着互联网业务的发展,各行各业都涉及业务安全问题:

  • 金融中涉及的主要业务安全问题包括账号安全、资金安全、洗钱、骗贷、老赖逾期问题、金融黑中介、薅羊毛等;
  • 社交中面临的主要业务安全问题包括账号安全(盗号、恶意注册、养号)、诈骗、恶意引流、色情恐怖政治等;
  • 游戏中则是外挂、盗号、内容类(诈骗引流低俗辱骂色情恐怖)、工作室打金等。

业务安全是一个不断对抗的过程,腾讯业务安全是基于腾讯20年黑灰产的对抗经验和领先技术打造而成的标准化风控模型,目前已在金融、电商、政务等多个行业落地应用,并覆盖金融领域超过80%的标杆客户。

腾讯云验证码(Captcha)基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证,最大程度地保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下的业务安全,同时提供更精细化的用户体验。

智能分级

经腾讯10亿用户的安全大数据训练后,腾讯云开发了智能分级模型,能根据用户多维环境因素,精确区分可信、可疑和恶意用户,弹出不同的验证方式。结合智能分级模型,腾讯云验证码验证策略为:可信用户免验证、可疑用户弹出滑块验证、恶意用户弹出 VTT 动态语义验证。

腾讯云目前提供两种最新型的交互式验证码:滑块验证码和 VTT 动态语义验证码,业务方可根据需求选择接入。

  • 滑块验证码交互简单,抗破解性强,用户轻轻一滑即可快速完成验证。
  • 相对于滑块类型,动态语义验证码难度更高,具有更强的人机对抗能力。

防御体系

腾讯云验证码构筑十道安全栅栏,层层阻拦黑产破解,安全性远超传统的单点防御。

  • VTT 语义验证:针对机器学习打码的黑产新手法,独创第四代动态语义验证(VTT),图片+语义+逻辑完美应对新挑战。
  • 动态加密:保障前端 SDK 的安全性,避免被黑产逆向。
  • 轨迹分析:通过设备指纹、黑名单库、Pow 认证、虚拟机、反虚拟机等进行分析。
  • 特征发现:通过大数据以及机器学习,根据用户操作行为、浏览器环境等因素进行人机识别。
  • 信用历史:智能标注恶意验证,每一条验证结果都会附带验证过程中发现的恶意痕迹,可用来二次打击。
  • Pow 认证:引入区块链技术,对可疑验证要求工作量证明,防止批量攻击。
  • 黑名单库:对大量发起恶意请求的设备/IP标注黑名单,发起更严格的验证。
  • 虚拟机:前端构建的x86虚拟机环境,能有效阻拦恶意逆向破解前端代码。
  • 反模拟器:识别主流的浏览器模拟器,防止通过模拟器绕过前端代码策略。
  • 设备指纹:精确识别验证设备,构建验证行为画像,区分可信和恶意设备。

自由配置

控制台对提供验证数据查看和验证码配置功能。通过验证码数据看板,可以查看历史验证情况、拦截情况、验证体验等数据,数据实时更新。通过配置中心可以调整验证码安全、外观、告警相关配置。无流量包套餐门槛,服务全线开通,配置畅通无阻。

二、验证码产品特性

应用场景

  • 注册登录
  • 活动秒杀
  • 点赞发帖
  • 数据保护

三、验证码产品优势

  • 智能分级免验证

依托精准的算法模型,智能切换验证 码形式,让安全用户告别复杂繁琐的 验证流程,兼顾安全与用户体验

  • 模型精准可靠

经10亿大数据训练并真实使用,保障 算法模型的准确性

  • 服务稳定高可用

国内最大验证码调用量,QQ、微信都 在使用,QPS可达10-20w

  • 服务高速响应

云服务冗余切换机制,人工即时响应 服务,超出预算自动切换基础验证机 制,保证业务的持续运营

  • 保障服务安全

采用动态加密、数据加密技术,保障 整个服务的安全性

四、使用常见问题和案例

1.验证码接入(谢欢新版本指引)

1)购买新版本验证码 控制台:https://console.cloud.tencent.com/captcha 计费相关:https://buy.cloud.tencent.com/captcha#captcha 2)接入API文档 验证码文档:https://cloud.tencent.com/document/product/1110/36926 接入方式:

  • 在控制台注册新应用后,会分配APPID和App Secret Key ,这个是验证码sdk的参数之一,APPID在前端使用,App Secret Key 给后端DescribeCaptchaResult接口使用
  • 前端直接接入验证码sdk,拉起验证码。如果滑动成功,弹框会消失。同时会输出ticket和 randstr作为DescribeCaptchaResult接口的参数,如果该接口返回OK,就能进一步确认 用户滑动验证码成功,流程就走完了
  • 如果是子账号要使用,需要主账号给权限QcloudCaptchaFullAccess https://console.cloud.tencent.com/cam/policy

2、验证码测试指引

1) 获取测试Demo

链接: https://share.weiyun.com/5DWD8yh (密码:UGMq) 前端源码data-appid = “系统分配的APPID(控制台基础配置界面)

2) 验证测试

根据自己的实际使用前端获取到:Ticket、randstr字段信息;(需要验证码确认ok)

获取的字段Ticket、Randstr访问后端: https://cloud.tencent.com/document/api/1110/36926

填入相对应字段信息,注意字段按照下面图标记填写即可

最终调用结果:

{ "Response": { "CaptchaCode": 1, "CaptchaMsg": "OK", "EvilLevel": 0, "RequestId": "c0aca01d-f6d4-4ab1-b458-d5f34f28d5e0" }, "retcode": 0, "retmsg": "ok" }

附则: 1. 用户在界面滑动验证码成功成功(用户确认) 2. 再调用接口返回ok(这个是确认步骤) 3. 两步都完成了才说明验证码是真正的成功了,就好比注册账号时需要输入两次 密码,一次输入密码、一次确认密码。

3.返回参数code报错解释

返回参数code:10001/未开通权限 解释

{ "Response":{ "RequestID":"b3ddf32a-0sds-1asd-25ds-a55dsddsaf", "Businesscode": 0, "Error":{ "code":"UnauthorizedOpertion.Unauthorized", "Message":"未开通权限" } } "retcode":10001, "retmsg":"未开通权限" } 两种情况:未购买验证码/验证码服务已经过期 注释:https://console.cloud.tencent.com/captcha 控制台上购买、领取试用即可

返回参数code:16解释

{ "Response": { "CaptchaCode": 16, "CaptchaMsg": "appid no match", "EvilLevel": 0, "RequestId": "b6eb7c6d-0307-4cdf-a5b3-6d12a6fad889" }, "retcode": 0, "retmsg": "ok" }

前端data-appid = “系统分配的APPID(在控制台基础配置界面)”

返回参数code:4300解释

{"code":4300,"codeDesc":"RequestLimitExceeded","message":"未开通服务权限:[nonce:23406][0095-0001-0023]"}

老版本验证码的报错,如果需要接入使用新版本的验证码(参照文档内:验证码接入)

返回参数code:8解释

{ "Response": { "CaptchaCode": 8, "CaptchaMsg": "verify timeout", "EvilLevel": 0, "RequestId": "d75dbea2-47e8-4a74-b216-3fdb97e5d987" }, "retcode": 0, "retmsg": "ok" }

返回参数code:15解释

{ "Response": { "CaptchaCode": 15, "CaptchaMsg": "decrypt fail", "EvilLevel": 0, "RequestId": "8c24e853-6c11-4aa5-8d1f-6418ddcae2bb" }, "retcode": 0, "retmsg": "ok" }

CaptchaType必须为9

Randstr必须跟前端返回一致

ticket票据必须与前端返回保持一致

secretid、secrekey必须一致,不能填错或者出现空格 userip不合法也会出现上述问题

返回参数code:9解释

{ "Response": { "CaptchaCode": 9, "CaptchaMsg": "Sequnce repeat", "EvilLevel": 0, "RequestId": "e6f385c3-eff7-493e-b00c-1c7ab0f3e1ac" }, "retcode": 0, "retmsg": "ok" } Ticket票据重复试使用 注意:这里的票据验证,不保证严格防重放。 目前最多可以验证6次,但这个数字以后可能变动,属于正常现象,并不是连续性

返回参数code:100解释

{ "Response": { "CaptchaCode": 100, "CaptchaMsg": "SecretKeyCheck Error", "EvilLevel": 0, "RequestId": "053715c3-7be5-41c6-b3fc-37ad0a9aee06" }, "retcode": 0, "retmsg": "ok" }

控制台captchaappid、App Secret Key不一致

返回参数code:7解释

{ "Response": { "CaptchaCode": 7, "CaptchaMsg": "captcha no match", "EvilLevel": 0, "RequestId": "57cae6b2-e567-43f5-b1bb-606864fefe24" }, "retcode": 0, "retmsg": "ok" }

Randstr重用;Ticket为新生成 Ticket重用 也是同理

返回参数code:104解释

{ "Response": { "CaptchaCode": 104, "CaptchaMsg": "Ticket Reuse", "EvilLevel": 0, "RequestId": "5d32ba03-88c9-4601-aed6-06db04eac7d5" }, "retcode": 0, "retmsg": "ok" } ticket票据重用

4.验证码相关问题

验证码是怎么收费的

验证码的计费是按套餐使用,超出套餐按0.005元/次日结(不能直接申请日结) 请求量:前端请求验证码接口的量 验证量:前端进行验证的量,滑动一次+1 通过量:最终票据校验验证通过的量 计费量:进行票据校验的量,既前端验证通过,进行后端票据校验的量。

Ticket有效时长

5分钟

防水墙数据导入腾讯云验证码

以下三个参数必录 1、原有防水墙的账号uin,一般是qq号 2、原有防水墙的验证码appid 3、原有防水墙的验证码key

超过1000QPS怎么处理

如果用户的实际使用情况会超过1000QPS需要联系验证码的运维同事后台为用户更改,且不收费

为什么相同的ticket,多次显示通过ok了?

票据验证,不保证严格防重放。 一个票据可以验证1-N次,都是可能的,有一个最大值。 也就是票据不能无限重放。小于最大值的都是可能的 最多可验证6次

验证码支持哪些语言,怎么配置

控制台基础配置语言栏调至自适应 web端会根据浏览器的语言自适应 手机端会根据手机语言自适应 zh-tw 中文(中国台湾) zh-cn 中文 zh-hk 中文(中国香港) en 英语 ar 阿拉伯语 fr 法语 de 德语 he 希伯来语 hi 印地文 id 印度尼西亚语 it 意大利语 ja 日语 ko 韩语 ms 马来西亚语 pl 波兰语 pt 葡萄牙语 ru 俄语 es 西班牙语 th 泰国语 tr 土耳其语 vi 越南语

验证码支持海外使用吗

目前在香港北美有部署,其他地区会慢些 验证码前端和后端请求时长 前端加载没有时间限制 后端票据核检验5s

提示“滑块半路丢了”、“验证码出了小差,再试一次吧”、“网络恍惚了一下,再试一次吧”属于被安全策略给打击(附策略打击展示图)

体验优先是只保留基础安全策略模型,安全优先是打开了所有安全策略模型;不止安全优先,体验,平衡也会出的。只是安全优先的策略模型更多更严格

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从零玩转腾讯滑块验证码
现在大部分公司的前端都是以滑块验证码进行验证机器人行为,后端也有但差不多都是图形验证码或者手机验证码,直接进入主题接下来我们要玩转的技术 是腾讯云出品的滑块验证码(可以免费领取5W以上的免费次数有效期限一年哦)
杨不易呀
2022/01/19
11.6K7
从零玩转腾讯滑块验证码
vue+drf+第三方滑动验证码的接入实现
近期在项目开发练习中用到了登录功能 + 验证码的需求,验证码一般分为三种类型:图片验证码、短信验证码、滑动验证码,相关实现思路如下
仙人技术
2021/02/04
1.5K0
从构建分布式秒杀系统聊聊验证码
为了拦截大部分请求,秒杀案例前端引入了验证码。淘宝上很多人吐槽,等输入完秒杀活动结束了,对,结束了...... 当然了,验证码的真正作用是,有效拦截刷单操作,让羊毛党空手而归。
小柒2012
2018/10/09
9360
从构建分布式秒杀系统聊聊验证码
从构建分布式秒杀系统聊聊验证码
为了拦截大部分请求,秒杀案例前端引入了验证码。淘宝上很多人吐槽,等输入完秒杀活动结束了,对,结束了...... 当然了,验证码的真正作用是,有效拦截刷单操作,让羊毛党空手而归。
java架构师
2019/03/19
1.2K0
从构建分布式秒杀系统聊聊验证码
vue项目集成腾讯滑块验证
可以参考腾讯云图形验证的使用文档。 第一步:登录腾讯云,打开控制台,打开验证码功能。
裴大头
2022/01/17
2.5K0
vue项目集成腾讯滑块验证
Web前端图形验证码登录验证功能
相信大家经常在各种网站上登录、注册、下发短信、活动等会看到,系统会弹出来一个滑块验证,让你把一个滑块滑到指定空缺的位置(还有其他种形式,比如按顺序点击文字或图案等等),系统会校验,校验正确则登录成功,否则即使账号密码输入正确也无法登录。
悟空码字
2023/04/11
1.6K0
Web前端图形验证码登录验证功能
兔小巢图形滑块验证实例DEMO
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Web 前端接入示例</title> <!-- 验证码程序依赖(必须)。请勿修改以下程序依赖,如使用本地缓存,或通过其他手
佛系豪豪吖
2023/02/23
4110
常用验证码之滑动验证码|图形验证码
这里是常用验证码的第三篇——滑动/图形验证码。在前两篇已经实现了随机验证码和算术验证码,感兴趣的可以去看一下~
流眸
2020/07/06
22.3K1
Django实现验证码
Django实现验证码 背景知识 1. 验证码的作用 防恶意破解密码:防止,使用程序或机器人恶意去试密码.为了提高用户的体验,用户输入错误以后,才会要求输入验证码. 防论坛灌水:这个是很常见的。有一种程序叫做顶帖机,如果无限制的刷,整个论坛可能到处是拉圾信息,比如,百度贴吧 ,你只要是新用户或者刚刚关注的贴吧,要是发帖,会马上出现验证码。 有效防止注册,以防,使用程序或机器人去无限制注册账号. 防刷票,网上有很多投票类的网站. 2. 验证码的原理 验证码于服务器端生成,发送给客户端,并以图像格式显示。客户端
若与
2018/04/25
1.6K0
Django实现验证码
防短信验证码轰炸怎么防_接口幂等性解决方案
新昕科技在交易反欺诈核心上, 通过AI快速学习机制,结合国际领先的设备指纹技术,首次推出无需图形验证码机制的企业短信防火墙,三步完成下载对接。
全栈程序员站长
2022/11/07
3.4K0
浅谈 前端验证码那些事
在实际项目的开发中,验证码的出现的频率相当高,它能实现人机甄别访问、减轻服务器负担的作用。常见的验证码为以下几类:
万少
2025/02/10
1730
浅谈 前端验证码那些事
ASP.NET Core 生成验证码
使用验证码保护网站免受垃圾信息的选择有很多,比如Google ReCaptcha和captcha.com。这两者都可以整合到ASP.NET Core应用中去。然而,如果你出于某些原因,仍然希望自己写验证码,例如你下网站需要在中国大陆使用,那么本文会教你如何在最新版的ASP.NET Core中生成和使用验证码。
Edi Wang
2019/07/08
4.3K0
ASP.NET Core 生成验证码
JavaSwing实现验证码功能
在Web应用程序开发中,验证码(CAPTCHA)是一种常见的安全措施,用于防止自动化机器人和恶意软件对网站进行攻击。本文将介绍如何使用JavaSwing来实现验证码功能,以帮助您加强Web应用程序的安全性。
用户10354340
2023/08/07
3370
业务安全(1)-天御内容安全
此系列将写一个系列给大家介绍腾讯云上的业务安全产品,希望加深大家对于腾讯业务安全产品的了解和熟悉,使用。
张瞳
2020/11/03
5.3K0
业务安全(1)-天御内容安全
Java Web 实现验证码功能
在Web应用程序中,验证码(CAPTCHA)是一种常见的安全工具,用于验证用户是否为人类而不是机器。验证码通常以图像形式呈现,要求用户在登录或注册时输入正确的字符。在这篇文章中,我们将详细介绍如何在Java Web应用程序中实现验证码功能。
繁依Fanyi
2023/11/01
6570
0元免服务器,开发个人专属网盘 | 云开发WEB最佳实践
比如去打印店要打印文件,一般来讲是我们登录社交软件,然后传输文件,最后退出登录;除了安全性极差,还特别繁琐。
腾讯云开发TCB
2020/03/31
2.4K0
0元免服务器,开发个人专属网盘 | 云开发WEB最佳实践
Nest.js 实战 (七):如何生成 SVG 图形验证码
在客户端登录的时候,我们就能根据传过来的验证码与 Session 中的信息判断是否正确:
白雾茫茫丶
2024/08/06
3240
Nest.js 实战 (七):如何生成 SVG 图形验证码
短信验证码“最佳实践”
  年初,从外地转移阵地到西安,转眼已两个多月。很久不写业务代码了,到了新公司,条件恶劣到前所未有,从需求,设计,架构,实现,实施,测试,bug修复,项目计划制定,项目管理,全他妈我一个人,关键是平台很大,很多技术难点,时间还又紧,要命的是,公司销售左派盛行,连技术老大都是销售出身,直属领导设计出身不懂技术。。。点到为止,剩下的大家自行脑补。吐槽归吐槽,事儿还是得干,程序猿的基本素养不是。于是一个多月,996式搞法,项目上线了,其中包括那个我半天做出来的短信验证码。。。废话大半天,终于说到今天的重点了,那就言归正传。
guokun
2020/09/03
8.4K0
短信验证码“最佳实践”
好看免费的Python验证码
在提交表单的时候为了防止机器操作或者是恶意的攻击,在填写表单的时候一般都用验证码来过滤掉一些非法提交数据。今天给大家介绍一款超实用超漂亮的Python验证码库:KgCaptcha。
用户10417561
2023/04/23
1.9K0
关于行为验证码,你不知道的一些问题!
验证码(CAPTCHA)全称为:Completely Automated Public Turing test to tell Computers and Humans Apart,全自动区分计算机和人类的图灵测试,是一种区分用户是计算机还是人的公共全自动程序。
用户9953929
2023/05/09
9880
相关推荐
从零玩转腾讯滑块验证码
更多 >
LV.1
腾讯科技安全工程师
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档