自2017年小程序发布以来,经过4年的快速发展,小程序已然成为企业互联网布局不可或缺的一环。无论是互联网企业还是拥抱互联网的传统企业,无论是服务导向型企业还是产品导向型企业,小程序都为用户提供了一种轻量化的产品体验方式。当小程序越来越多的被不同群体所接受,对于小程序的开发也越来越“水涨船高”。

微信小程序面临的三类安全风险

无论是社交电商、O2O模式以及游戏、社区,抑或是其他形式的小程序开发,其终极目的是提升用户体验、更好地帮助商家连接线上线下服务获取客户。小程序的安全稳定运营与验证在这一过程中起到了至关重要的作用。小程序的安全问题主要集中在以下三方面:

1.小程序与微信交互存在安全问题。与微信的交互只能使用其提供的API进行,对这些API规范的使用会导致安全问题。

2.小程序与第三方服务器的业务逻辑交互存在问题。这是安全最薄弱的环节,业务逻辑多种可能存在风险或漏洞,如用户信息泄漏、订单盗刷、信息安全。

3.第三方服务器Web服务风险。Web服务器中存在的风险,如存储型XSS攻击、SQL注入、管理员口令泄露。具体的风险包括,薅羊毛、仿冒山寨、数据爬取等问题。小程序虽然业务模块相较APP会精简许多,但是仍然会有注册、登录等重要的业务入口。这些入口在传统平台上往往也是机器流量攻击的首要目标。

统计显示,在2021年上半年数据中,小程序端的验证数据主要来源于登录注册,其次是搜索查询和支付下单。

顶象“无感验证”验证码如何接入微信小程序?

顶象“无感验证”集设备指纹、行为校验、操作校验、地理位置校验等多项功能与一身,基于操作者行为及环境信息等数据信息,结合模型和风控分析。根据用户的风险程度,采取不同难度的验证方式,安全用户无感知通过,避免恶意攻击带来的业务损失,留存真实用户,能够保障百万小程序安全运行。

目前,顶象“无感验证”验证码接入微信小程序的方式有两种,一种是插件式接入,一种是跳转式接入。

插件式接入微信小程序

1)用管理员身份登录微信公众平台,请使用需要接入小程序的相关账号(微信公众平台采用不同账号区分,公众号的后台和小程序的后台分别为不同账号),依次点击:设置-第三方服务-添加插件,然后输入关键字“顶象”并搜索,如下图所示:

2)获取密钥。未注册用户可在顶象官网进行账号注册,创建应用获取应用密钥AppID和AppSecret。
3)集成插件。声明插件:在app.json中声明插件。

跳转式接入微信小程序

1)用管理员身份登录微信公众平台,请使用需要公众号的相关账号(微信公众平台采用不同账号区分,公众号的后台和小程序的后台分别为不同账号),依次点击:小程序-小程序管理-添加-关联小程序,然后输入小程序AppID“wx82db4a59175bdfdf”并搜索,如下图所示:

2)获取密钥。未注册用户可在顶象官网进行账号注册,创建应用获取应用密钥AppID和AppSecret。

3)小程序集成。
首先,通过navigator组件跳转至顶象验证码。

.wxml<navigator target="miniProgram"app-id="wx82db4a59175bdfdf"path="/pages/captcha/captcha"extra-data="{{options}}">

<button>登陆</button></navigator>

.jsPage({

data: {

options: {

appId: '这里填写在顶象官网申请到的appId',

customStyle: {

panelBg: '',

captchaBgColor: ''

}

}

}

})

参数说明:

参数

说明

appId

String

这里填写在顶象官网申请到的appId,注意必须填写正确,否则会报:功能无法使用

customStyle

Object

自定义样式对象,panelBg为整个页面的background属性,captchaBgColor为验证码的background-color属性

然后,在顶象验证码中验证。

最后,验证成功。验证结果会在调用方app.js中顶onShow生命周期方法中取到。

if (options.scene === 1038 && options.referrerInfo.appId === 'wx82db4a59175bdfdf') {

const result = options.referrerInfo.extraData;

if (result) {

console.log('返回结果:', result)

} else {

// 用户点击右上角关闭了验证码

}

}

验证结果说明:

参数

说明

success

Boolean

验证成功失败

token

String

验证成功才有:token

msg

String

验证失败或参数不合法才有:错误信息

 

顶象“无感验证”微信小程序的常见问题

问:生产控制台配置的是图标点选方式,小程序里显示的为什么还是滑块方式?

答:小程序的验证码类型目前首次只支持滑块验证,二次验证方式只支持图文点选验证。 请确认小程序的配置验证方式正确,可在 控制台->无感验证->场景管理页面 ,选择对应的场景(你所接入的小程序名)来编辑验证方式。

问:微信小程序如何接入ConstIDServer地址?

答:小程序ConstIDServer地址以 /udid/ w1 结尾,如https://host/udid/w1。

问:返回 INVALID_APP_ID 是什么问题?

答:如上所述,是传入的Appid 错误,应填写在顶象控制台创建的产品Appid。 可以登录控制台,在系统管理菜单下进入产品管理页面,查看对应产品的Appid。

问:小程序的版本号如何修改?

答:在app.json中声明插件时,修改版本号即可

{"plugins": {

"captcha": {

"version": "1.2.5",

"provider": "wxbf8483dfc5ac6817"

}

}

}

问:一直显示“智能加载中”,怎么办?

答:请检查当前网络连接是否正常。

新手指南:顶象验证码如何接入微信小程序?的更多相关文章

  1. 移动开发之【微信小程序】的原理与权限问题以及相关的简易教程

    这几天圈子里到处都在传播着这样一个东西,微信公众平台提供了一种新的开放能力,开发者可以快速开发一个小程序,取名曰:微信公众平台-小程序 据说取代移动开发安卓和苹果,那这个东东究竟是干吗用的?但很多人觉 ...

  2. 如何一键式搭建微信小程序

    有了微信小程序,对你到底意味着什么? 对于用户来说,再也不用担心手机的内存不够用了!一个小程序只有1M,随便卸载一个App,就能安装很多小程序! 对于老板来说,你不再需要花费数十万来去请外包公司帮你去 ...

  3. 当微信小程序遇到AR(三)

    当微信小程序遇到AR,会擦出怎么样的火花?期待与激动...... 通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习. 本课程需要一定的基础:微信开发者工具,JavaS ...

  4. 微信小程序-未接入app.json错误

    微信小程序建立新项目之后会出现app.json文件未接入错误如下图: 一般是因为在下图添加新项目,项目目录这一列,如果不事先建立一个空的文件夹,直接选择则不会出现quickstartup界面 所以在建 ...

  5. 微信小程序之快速接入七牛云

    小程序为什么要接入云? 目前,开发者在开发小程序过程中,主要遇到以下几个问题: 小程序发布大小超限 微信官方限制小程序的发布代码不能超过 1MB,而在实际开发过程中,一般的小程序难免会有图片等富媒体文 ...

  6. 如何让微信小程序快速接入七牛云

    如果你确定用七牛运行小程序的话,给大家分享一个九折优惠码:61d1fd4d1 月 9 日 微信小程序正式发布,小程序终于揭开了它神秘的面纱,开发者对小程序的追捧更是热度不减.从小程序的热门应用场景来看 ...

  7. 微信小程序之获取验证码js

    在微信小程序中怎样实现获取验证码的倒计时功能捏,倒计时的原理是一样一样的,就是某些地方需要注意. 第一步:结构 <view class='get-code' wx:if="{{!isS ...

  8. 如何使用微信小程序云函数发送短信验证码

    其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制. 本文使用的是榛子云短信平台(http://smsow.zhenzikj.com) ,S ...

  9. 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...

随机推荐

  1. Centos8 Docker部署 .Net6 项目

    .Net6项目发布 1.在VS中发布项目,并编写好Dockerfile文件 Dockerfile文件内容如下: FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS ...

  2. [luogu5180]支配树

    对于有向图$G$和起点$s$,有以下定义和性质-- 为了方便,不妨假设$s$能到达$G$中所有点,并任意建立一棵以$s$为根的dfs树,以下节点比较默认均按照两点在这棵dfs树上的dfs序 支配点:$ ...

  3. [cf1340D]Nastya and Time Machine

    记$deg_{i}$为$i$的度数,简单分类讨论可得答案下限为$\max_{i=1}^{n}deg_{i}$ 另一方面,此下限是可以取到的,构造方法较多,这里给一个巧妙一些的做法-- 对其以dfs(儿 ...

  4. [cf1137F]Matches Are Not a Child's Pla

    显然compare操作可以通过两次when操作实现,以下仅考虑前两种操作 为了方便,将优先级最高的节点作为根,显然根最后才会被删除 接下来,不断找到剩下的节点中(包括根)优先级最高的节点,将其到其所在 ...

  5. [hdu7078]Pty with card

    显然问题被分为两部分,先考虑如何求$F(n)$-- 令第一次所选的人编号为1,其之后所有人按顺时针依次编号为$2,3,...,n$,那么用一个序列来描述状态,其中第$i$个元素为当前存在的人中编号第$ ...

  6. [noi239]count

    将每一个ai表示为$ai=ki\cdot m+ri$,即满足$m\sum ki+\sum ri=n$且$0<ri<m$枚举$S=\sum ri$(S范围是$k\le S\le k(m-1) ...

  7. layui某个字段不让页面显示显示

    <script src="/layuiadmin/layui/layui.js"></script> <script> layui.config ...

  8. round函数和获取当前时间函数

    round函数:对一个浮点类型的数据进行四舍五入:round(3.14)   运行结果就是3 获取当前时间: time.time()    ,time函数需要导入才能使用,import time  

  9. 【2020-8-21】【数字游戏】【启发式搜索IDA*】

    有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行这样的操作,显然每次构成的序列都比上一次的序列长度少1,直到只剩下一个数字位置.下面是一个例子: ...

  10. 洛谷 P6772 - [NOI2020]美食家(广义矩阵快速幂)

    题面传送门 题意: 有一张 \(n\) 个点 \(m\) 条边的有向图,第 \(0\) 天的时候你在 \(1\) 号城市,第 \(T\) 天的时候你要回到 \(1\) 号城市. 每条边上的边权表示从城 ...