收藏
回答

服务端怎么确认请求是不是我开发的小程序发起的,有没有相关技术手段。

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug 服务端怎么确认请求是不是我开发的小程序发起的,有没有相关技术手段。 微信安卓客户端 最新 2.0.0

服务端怎么确认请求是不是我开发的小程序发起的,有没有相关技术手段。

本身业务属于查询类api服务,我需要确认是不少我开发的微信小程序请求的,有没有推荐技术手段。

我目前想到的是,目前用户进入小程序之后产生的openid是否有接口让我确认是不少分配给我的小程序的,防止伪造造成的恶意调用。

最后一次编辑于  2021-11-08
回答关注问题邀请回答
收藏

3 个回答

  • 风清雾云开见日出
    风清雾云开见日出
    2021-11-08

    每个小程序的openID的前4位都是唯一的,根据每次接口访问后台的openID,来确定这个openID是否是你的

    2021-11-08
    有用
    回复 1
    • 孙小楠
      孙小楠
      2022-07-11
      不行的,爬虫本身就是可以伪造请求头,openID是固定的,就传就是了。
      2022-07-11
      回复
  • 老张
    老张
    2021-11-08

    就是因为搞不定这个,所以我用云开发。

    2021-11-08
    有用
    回复
  • xplee
    xplee
    2021-11-08

    增加请求头验证啊,类似access token的机制,由服务端生成交给客户端,客户端发起请求时携带此值,服务端收到请求时验证此token是否合法。token如何生成及算法自己控制即可。

    2021-11-08
    有用
    回复 4
    • AꃅℳατᎫαƞ
      AꃅℳατᎫαƞ
      2021-11-08
      但是微信小程序前端代码被掳走的话不就还是能拿到逻辑去伪造了么?
      2021-11-08
      回复
    • xplee
      xplee
      2021-11-08回复AꃅℳατᎫαƞ
      如果你的前端代码里有,如appsecret这种敏感信息,那就有这种可能。前端代码尽量不要放任何配置信息,交由后端完成。
      2021-11-08
      回复
    • AꃅℳατᎫαƞ
      AꃅℳατᎫαƞ
      2021-11-08回复xplee
      没有敏感的信息,只有调用逻辑关系,这是必然要放在前端的。目前的问题是我希望他就算拿到了前端代码伪造了访问请求,我也能分辨出来。
      2021-11-08
      回复
    • xplee
      xplee
      2021-11-08回复AꃅℳατᎫαƞ
      你说的都是极端情况,他伪造了访问请求,说明已经知道了你的加密逻辑,这时候就要考虑换逻辑了。没有100%的保证。加了access token已经能防住大部分了
      2021-11-08
      回复
登录 后发表内容