美文网首页小程序
如何保护小程序API

如何保护小程序API

作者: elef | 来源:发表于2019-10-21 15:22 被阅读0次

为什么要做接口防护和权限校验?

有时候,黑客通过抓包或者其他方式即可获得到后台接口信息,如果不做权限校验,黑客就可以随意调用后台接口,进行数据的篡改和服务器的攻击。因此,为了防止恶意调用,后台接口的防护和权限校验非常重要。

小程序API接口和其他业务接口有着不一样的特点,其他业务接口可以通过内部帐号进行验证和授权,进而得到保护。而小程序API一般都是无法进行基于帐号密码的验证,那小程序如何进行接口保护那?

要进行小程序的接口防护,首先需要了解小程序的登录过程,如下图所示

小程序登录过程

整个的流程如下:

  • 1、小程序端通过wx.login()获取到code后发送给后台服务器

  • 2、后台服务器使用小程序的appid、appsecret和code,调用微信接口服务换取session_key和openid(openid可以理解为是每个用户在该小程序的唯一识别号)

  • 3、后台服务器自定义生成一个3rd_session,用作openid和session_key的key值,后者作为value值,保存一份在后台服务器内存中或者redis缓存中或者数据库中,同时向小程序端传递3rd_session

  • 4、小程序端收到3rd_session后将其保存到本地缓存,如wx.setStorageSync(KEY,DATA)

  • 5、后续小程序端发送请求至后台服务器时均携带3rd_session,可将其放在header头部或者body里

  • 6、后台服务器以3rd_session为key,在保证3rd_session未过期的情况下读取出value值(即openid和session_key的组合值),通过openid判断是哪个用户发送的请求,再和发送过来的body值做对比(如有),无误后调用后台逻辑处理

  • 7、返回业务数据至小程序端

ps:会话密钥session_key 是对用户数据进行加密签名的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。这也是为什么要在这里引入一个 3rd_session 变量的原因。

摘自:小程序API接口攻击防护

相关文章

  • 如何保护小程序API

    为什么要做接口防护和权限校验? 有时候,黑客通过抓包或者其他方式即可获得到后台接口信息,如果不做权限校验,黑客就可...

  • 使用Spring Security和JWT保护REST API实

    设计REST API时,必须考虑如何保护REST API,在基于Spring的应用程序中,Spring Secur...

  • 小程序开发(1)

    小程序注册小程序api下载开发工具未注册如何开发域名/证书问题小程序如何获取用户信息开发遇到问题其他 小程序注册 ...

  • 微信小程序如何调用后台接口

    本课程讲解了微信小程序如何调用线上API中心接口,主要使用了wx.request去和API中心交互,API中心提供...

  • 微信小程序(上)

    微信小程序 微信小程序应用开发简介(大腿勿喷) 小程序api 微信小程序其实挺简单的,项目大多功能官方api都提供...

  • 小程序API-BackgroundAudioManager简单使

    小程序API使用-BackgroundAudioManager 1. 小程序播放音乐API(背景音乐管理对象Bac...

  • 微信小程序API相关知识科普

    微信小程序API(Application Programming Interface),即应用程序编程接口。API...

  • 微信小程序开发笔记(一)

    微信小程序官方文档 微信小程序示例,仅做练习微信小程序使用数据来自:免费开放接口API开放接口API peakch...

  • 微信小程序调用自定义接口

    微信小程序提供了wx.request方法发起请求,具体文档参照 微信小程序api。使用的api为自建api,使用n...

  • 小程序--API

    页面下拉刷新的两种方法配置json在需要实现下拉刷新的页面配置xxx.json { // 是否开...

网友评论

    本文标题:如何保护小程序API

    本文链接:https://www.haomeiwen.com/subject/dmutvctx.html