网易易盾验证码移动端迎来新版本 开始支持智能无感知验证

网易易盾验证码移动端新版本支持智能无感知验证码,优化交互与性能,提供极致用户体验。安全用户仅需轻点验证,风险用户则需进一步验证。新版本支持自定义验证按钮,与业务样式融合,提升企业形象。

近日,网易易盾验证码移动端迎来新版本,该版本支持智能无感知验证码,对整体交互及性能等方面进行了优化和提升。

移动端智能无感知验证码交互流程图

验证码移动端最新版本开始支持智能无感知验证码,极致用户体验,多维度收集环境信息,安全用户只需轻点即可通过验证;风险用户根据风险程度弹出不同难度的验证码进行再次验证。

易盾智能无感知验证码流程图

传统字符型验证码的流程是:展示-填写字符-比对答案,易盾的流程是:验证码展示-采集用户行为-分析用户行为流程。这也就意味着,用户只需要产生指定的行为轨迹,不需要键盘手动输入,能极大解决传统验证码用户体验不佳的问题。根据相关测试数据显示:移动端智能无感知验证码较滑块拼图、点选验证码,安全用户成功率得到了很大的提升。

本次更新,验证码移动端还支持了自定义验证按钮,与业务样式能够完美融合,凸显企业形象。在验证码加载、验证等全流程上,易盾也对性能进行了优化,让验证体验更加无缝和顺畅。在普通验证码上,易盾对交互样式进行了迭代,带来更加专业和便捷的移动端交互。

网易易盾验证码产品经理张谣表示,移动端原生SDK升级不影响老用户。如果老用户希望使用移动端最新版的功能,“只要重新接入SDK就好。”

据悉,网易易盾行为式验证码包括滑动拼图、文字点选、图标点选、短信上行验证、智能无感知验证码等多种模式,性能稳定,配置灵活,全面支持小程序/H5、Web和iOS/Android移动客户端。

网易易盾验证码服务在过去的2年里,一共迭代了二十多个版本,对验证码功能、交互、个性化、国际语言的支持等进行了重大更新。比如主流语言上支持了支持英文、日语、韩语、泰语、越南语、法语、俄语、阿拉伯语等语言的同时,还在不断开拓支持德语、意大利语、希伯来语、印地语、印尼语、缅甸语、老挝语、马来语、波兰语、葡萄牙语、西班牙文、土耳其语等。

目前,网易易盾验证码产品服务了数千家客户,包括申通快递、恒大集团、掌阅、考拉、国家大剧院、工信部装备工业发展中心等数千家网站,帮助他们带来极致用户体验。

点击了解和免费试用网易易盾验证码服务。

文章来源: 网易云社区

网易易盾验证码逆向涉及滑块验证码、文字点选验证码等不同类型,以下是针对不同验证码的逆向技术与方法: ### 滑块验证码 - **信息接口请求参数获取**:请求参数中,acToken、fp、cb 需要通过逆向 js 获取,其他可固定。响应信息包含图片信息以及 token 值,token 在滑块验证接口会用到[^1]。 - **acToken 加密分析**:全局检索 acToken,调试堆栈找到加密位置。分析 g.prototype.ia 方法确定参数 t 的生成位置,参数 x 固定为 false。dc 方法中的 q 值是字符串截取部分,在浏览器短时间内不变,后期可固定,不影响滑块验证 acToken 结果[^1]。 - **fp 加密分析**:fp 的值是 cookie gdxidpyhxdE 的值,采用 hook 形式找加密值生成位置。代码方面,qU 是 vx 的值,vx 由 vA 生成,vA 的生成又需要 vm[^1]。 - **轨迹与距离加密分析**:第 3385 行定义了 a、r 及 o。a 为加密后的轨迹数组,取原轨迹数组前 50 位加密,易盾对轨迹校验不严格;r 为 get 接口响应返回的 token 值;o 是滑动滑块的距离经相关计算后加密的值,width 宽度需与请求中的一致[^2]。 ### 文字点选验证码 鼠标轨迹生成要模拟真人操作,避免被服务器判定为脚本生成。在相邻两个点坐标间,取随机的轨迹生成数量和拖动时间,两次轨迹坐标加上少量偏差避免成直线。以下是生成轨迹及点选的代码示例: ```python import random class Captcha: def get_trackData(self, xy): xy = xy.split('|') xy_list = [i.split(',') for i in xy] xy_list = [[int(x), int(y)] for x, y in xy_list] tr = [] # 轨迹列表 dx = [] # 点选列表 for i in range(len(xy_list) - 1): # 循环获取到坐标点 s, e = xy_list[i], xy_list[i + 1] # 取出相邻的两个点 if not tr: tr.append([*s, 3]) dx.append([*s, 3]) np = random.randint(30, 40) # 两个点直接生成的轨迹数量 bt = random.randint(30, 60) # 随机时间差值 for j in range(np): # 生成两个点之间的 轨迹 p = (j + 1) / (np + 1) # 进度比例 x = int(s[0] + (e[0] - s[0]) * p) y = int(s[1] + (e[1] - s[1]) * p) tr.append([x, y, tr[-1][2] + bt]) tr.append([*e, tr[-1][2] + bt]) dx.append([*e, tr[-1][2] + bt]) return tr, dx ``` ### 通用轨迹模拟方法 在难以直接获取真实轨迹的情况下,可通过打印轨迹并分析其规律来模拟。例如,多次滑动滑块打印轨迹,发现轨迹横差值前面最大,然后越来越趋于平和直到没有,根据此规律模拟轨迹[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值