使用开发者工具可以预览微信小程序,帮助开发者检查微信小程序在移动客户端上的真实表现。
点击开发者工具顶部操作栏的预览按钮,开发者工具会自动打包当前项目,并上传微信小程序代码至微信的服务器,成功之后会在界面上显示一个二维码。使用当前微信小程序开发者的微信扫码即可看到微信小程序在手机客户端上的真实表现。
使用开发者工具可以预览微信小程序,帮助开发者检查微信小程序在移动客户端上的真实表现。
点击开发者工具顶部操作栏的预览按钮,开发者工具会自动打包当前项目,并上传微信小程序代码至微信的服务器,成功之后会在界面上显示一个二维码。使用当前微信小程序开发者的微信扫码即可看到微信小程序在手机客户端上的真实表现。
微信小程序成员管理包括对微信小程序项目成员及体验成员的管理。
不同项目成员拥有不同的权限,从而保证微信小程序开发安全有序。
| 权限 | 运营者 | 开发者 | 数据分析者 |
|---|---|---|---|
| 开发者权限 | √ | ||
| 体验者权限 | √ | √ | √ |
| 登录 | √ | √ | √ |
| 数据分析 | √ | ||
| 微信支付 | √ | ||
| 推广 | √ | ||
| 开发管理 | √ | ||
| 开发设置 | √ | ||
| 暂停服务 | √ | ||
| 解除关联公众号 | √ | ||
| 腾讯云管理 | √ | ||
| 微信小程序插件 | √ | ||
| 游戏运营管理 | √ |
各权限功能说明
需要留意,项目管理者控制整个微信小程序的发布、回退、下架等敏感操作,不应把敏感操作的权限分配给不相关人员
这里说一下微信小程序里JSON配置的一些注意事项。
JSON文件都是被包裹在一个大括号中 {},通过key-value的方式来表达数据。JSON的Key必须包裹在一个双引号中,在实践中,编写 JSON 的时候,忘了给 Key 值加双引号或者是把双引号写成单引号是常见错误。
JSON的值只能是以下几种数据格式,其他任何格式都会触发报错,例如 JavaScript 中的 undefined。
还需要注意的是 JSON 文件中无法使用注释,试图添加注释将会引发报错。
为了提高微信开放平台生态的安全性,针对微信小程序各应用场景中可能存在的恶意/蓄意攻击、恶意爬取微信小程序核心数据内容等行为,平台提供了「微信网关」产品,向开发者提供微信网关服务,以协助开发者应对 CC 攻击、DNS 劫持/污染等攻击风险,以及外部抓包获取业务数据信息。同时,微信网关基于微信客户端可靠的网络链路,能进一步提高业务的请求成功率及弱网环境下的访问质量,全力保障服务高可用。
守护数据安全
微信小程序团队基于微信小程序技术架构自研了微信私有协议,基于此微信私有协议,对请求进行二次封装加密,全程无明文数据传输,极大提高了协议破解和数据爬取的门槛,保护了业务协议和数据安全,防止核心数据泄露,保护企业无形的数据资产。
拦截恶意流量
针对可疑的账号/请求,微信网关提供了一套流量风控策略,基于行为、特征、情报等多维度数据智能模型,在面对核心资源请求时,支持多种人机验证方式,高效拦截机器行为;面向业务营销活动时,能精准识别羊毛党/灰产,让业务把优惠福利真正给到目标用户。
提高服务可用性
微信网关与微信客户端共用网络链路,能有效优化三四线城市及商场等弱网环境下的访问质量,只要微信能打得开,业务微信小程序就可以使用,显著提升了客户端访问成功率及终端用户体验。同时,在面向各种网络相关的各种疑难杂症、不明原因报错等情况时,微信网关都能起到有效作用。此外,还提供API流量治理能力,可按接口设置限速,避免流量洪峰导致服务过载雪崩,保障业务高可用。
便捷接入
无任何架构要求,无需更改现有系统架构,配置简单,一般 0.5人/天 即可完成从接入测试到上线使用。
体验无损
接入微信网关,业务接口性能仅增加毫秒级别的开销,不影响用户体验。
能力使用
登录 Donut 开发平台 – 微信网关控制台,即可立即使用。
在客户端使用微信网关
为了提高微信开放平台生态的安全性,针对微信小程序各内容场景中可能存在的安全问题,平台通过开放API方式向开发者提供内容安全解决方案,协助开发者应对文本、图片、音频内容类型下的敏感内容识别、涉黄内容识别、暴恐内容识别等问题,以便开发者维护微信小程序的运营秩序和安全。
功能描述:文本审核接口能够识别文本信息中的色情、时政违规、暴恐等违法有害内容,帮助用户及时、精准地防范违规风险,可用于内容审核、敏感信息过滤、舆情监控等场景。
应用场景:用户个人资料文本内容检测;媒体新闻类用户发表文章、社区评论内容检测;游戏类用户编辑上传的素材(如答题类微信小程序用户上传的问题及答案)检测等。
功能描述:图片内容安全基于腾讯海量数据资源和深度学习技术,为开发者提供图片内容的智能审核服务,不仅能帮助用户降低色情、时政违规、暴力恐怖等风险,还能大幅度节省人工审核成本,保护业务健康发展。
应用场景:用户自定义头像检测、涉及拍照的工具类应用(如P图、自拍类应用)用户拍照上传检测;电商类商品上架图片检测;媒体类用户文章里的图片检测;社交类用户上传的图片检测等。
功能描述:识别音频中的涉黄、涉政、谩骂等违规内容,从而降低人工成本,提高审核效率。应用场景:游戏聊天频道中的语音检测;直播中的主播语音检测;论坛社区发布相关媒体内容的音频检测。
为了提高微信开放平台生态的安全性,针对微信小程序中可能出现的恶意注册、营销作弊等黑产风险和安全问题,平台开放了API接口,向开发者提供安全风控接口,帮助应对刷单、虚假交易、恶意骗取补贴等营销作弊风险,以及批量注册、伪造身份等注册黑产风险,从而维护微信小程序的运营秩序和安全。
开发者可以根据接口返回的风险等级数来判断用户的风险程度。风险等级代表的意义及对应业务的使用,可以参考下面的说明和建议,具体的使用可以根据业务实际情况动态调整,以达到准确的拦截效果,保护业务健康有序地开展。
| 风险等级 | 建议处置方案 |
|---|---|
| 风险等级0 | 无风险,不做任何阻拦 |
| 风险等级1 | 低微可疑的风险,建议进行简单的验证(如验证码、短信等) |
| 风险等级2 | 轻度可疑的风险,建议进行简单的验证(如验证码、短信等) |
| 风险等级3 | 中度可疑的风险,建议根据业务场景采取一定措施避免伤害。例如,营销活动可降低高等级奖励的概率;打榜类活动对此类投票降低权重;登录注册要求二次验证等 |
| 风险等级4 | 高度可疑的风险,建议根据业务逻辑直接拦截。例如,红包类活动返回不中奖或最小额红包;打榜类活动不计算票数;登录/注册操作要求二次验证;高危业务可选择限制本次操作。 |
调用API
为规范开发者的用户个人信息处理行为,保障用户合法权益,微信小程序、插件中涉及处理用户个人信息的开发者,均需补充相应用户隐私保护指引。
具体填写内容说明可见微信小程序用户隐私保护指引内容介绍、插件用户隐私保护说明内容介绍。
入口1:账号设置-服务内容声明-用户隐私保护指引-去完善
开发者可随时基于微信小程序现网版本进行隐私协议的完善或更新,审核通过后即可生效。用户可在微信小程序更多资料页和弹窗中查看隐私指引。

入口2:管理—版本管理—提交代码审核—信息填写页面
开发者每次提交代码审核时,平台默认拉取微信小程序现网版本隐私协议,作为开发版本的隐私协议进入平台审核。若提交审核的开发版本,其隐私接口调用情况与隐私协议内容有出入,或隐私协议内容为空,则在提审时会提醒开发者进行更新。
在此入口对开发版本隐私协议内容的修改不会对现网版本的隐私协议产生影响。同样,入口1的修改仅针对现网版本隐私协议。若开发版本审核通过且发布现网,该版本的隐私协议会同时发布现网覆盖前一个版本的隐私协议。
注意:若提审版本时被拦截,请在当前入口,即入口2对隐私协议内容进行更新。

代开发的微信小程序则只能通过接口配置用户隐私保护指引,可以参考第三方平台的指引文档。
入口1:微信小程序插件—设置—用户隐私保护说明
开发者可随时对插件最新的线上版本进行隐私说明的完善或更新,审核通过后即可生效。用户可在引用了该版本的微信小程序更多资料页、隐私指引中查看。
暂不支持对线上非最新版本进行隐私说明的完善或更新。

入口2:微信小程序插件—提交审核—无法提交审核弹窗-去完善
开发者每次提交代码审核时,平台默认拉取插件最新的线上版本隐私说明,与当前提交审核版本隐私接口调用情况对比,若当前提交审核版本调用了最新的线上版本隐私说明不包含的隐私接口,会提醒开发者先提交隐私说明审核。
开发者完善隐私声明后,需等待隐私声明审核通过才可提交版本。隐私声明审核通过会通过服务通知告知插件开发者。
注意:若提审版本时被拦截,请在当前入口,即入口2对隐私协议内容进行更新
若当前提交审核版本删除了最新的线上版本隐私说明中包含的隐私接口,无法在提审时进行编辑,建议开发者在版本发布后通过入口1进行修改。

条件竞争比较常见的例子是攻击者通过并发 https 请求而达到多次获奖、多次收获、多次获赠等非正常逻辑所能触发的效果。
漏洞代码示例
// 从DB里查询该用户剩余获奖次数,初始值为1
int remain_times = SelectRemainTimes();
if(remain_times > 0){
EarnRewards(); // 用户获得奖励
ClearRemainTimes(); // 在DB里把该用户的剩余获奖次数清零
}
开发者的设计本意是只允许用户获得一次奖励,但当出现并发请求时,有可能出现请求 A 和请求 B 都刚好执行完第2行代码的情况,此时两个请求的 remain_times 都为1,也就是可以通过第4行代码的判断,获得两次奖励。
开发建议:
目录遍历是指由于后台服务对用户输入验证不足或配置不严谨,导致服务器目录内容泄漏。外部攻击者可能通过目录遍历获取系统文件、后台代码等敏感文件。
开发建议:
web 服务配置
web 应用代码
文件下载漏洞是指 Web 应用允许用户通过指定路径和文件名的方式来下载对应的文件,但未正确限制可下载文件所在的目录范围,导致预期范围外的文件被下载泄露。
开发建议: