微信小程序 安全包括(框架、功能模块、账户使(4)

微信小程序 安全包括(框架、功能模块、账户使

图17-使用微信信息登录

方式二和方式三是强账户体系,方式二类似微信公众号的授权机制,通过小程序获得的code和微信用户基本信息,到第三方服务器获取访问的token(第三方session),第三方服务器维护用户使用的session与微信session_key/openid的关联关系。图18为微信官方提供的登录实现时序图,图19为某小程序授权登录的请求过程。

微信小程序 安全包括(框架、功能模块、账户使

图18-官方提供的授权登录实现方案

微信小程序 安全包括(框架、功能模块、账户使

图19-某小程序授权登录过程

以上第一个请求通过code和微信基本用户信息到第三方服务器换取token,而后的请求通过token请求用户个人数据,如团购代金券使用历史记录。方式二不能将微信公众平台的appsecret或者session_key(属于敏感信息)传递到客户端,否则可能导致安全攻击。方式三属于小程序自身实现方式,依赖自身实现的安全性,与微信平台无关。

四.总结

说了这么多,大白也该总结一下了,大致如下8点:

1、框架上继承了微信成熟的JSAPI框架和底层的TBS浏览器内核;

2、小程序的关键信息完全由后台控制进行配置,如可访问的域名信息;

3、通用网络传输使用Https,并对访问域名进行校验控制,无法抵御攻击者在本地安装代理证书实施中间人攻击的威胁;

4、本地数据存储采用(KEY,VALUE)形式存放在DB,数据的保护继承了微信的数据库加密防护策略;

5、本地文件存储采用HASH映射机制进行文件定位,文件存储在外部存储,本身通过自定义算法实现完整性校验;

6、存在仿冒钓鱼小程序的可能,依靠于微信平台的审核监管能力;

7、针对特定小程序,由于是在微信平台生态中运行,小程序自身仍需对敏感数据进行安全防护;

8、小程序登录体系可以依赖微信接口和公众号平台,也可以由小程序自行实现。前者需要根据微信平台的安全规范实施,后者则由小程序自行控制安全性。

五.附录

下面大白补充一下上述文中4个附录内容:

附录1:小程序初始化后台配置信息
a target="_blank" href="/uploads/allimg/200608/143942P37_0.jpg">

微信小程序 安全包括(框架、功能模块、账户使

附录2:更新并提取后台配置信息逻辑

微信小程序 安全包括(框架、功能模块、账户使

微信小程序 安全包括(框架、功能模块、账户使

附录3:request网络请求实现

微信小程序 安全包括(框架、功能模块、账户使

微信小程序 安全包括(框架、功能模块、账户使

微信小程序 安全包括(框架、功能模块、账户使

附录4:网络请求域名校验

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwdjgw.html