收藏
回答

获取手机号要收费了,家人们,如何防止频繁获取手机号啊?

有登陆场景需要授权手机号进行登录,如何防止退出登录又重新授权手机号登录刷接口的调用?

回答关注问题邀请回答
收藏

6 个回答

  • 王横
    王横
    2023-07-27
    1. 优先使用微信登录;
    2. 引入伪退出功能,再次登录如果关键信息未变更,直接登录成功;
    3. 避免所有页面都要登录,除涉及到增、删、改信息操作外的其他操作都不强制登录;
    4. 限制同一openid、unionid、IP的登录次数;
    5. 对于安全要求比较低的小程序,可以将登录信息记录在服务器;
    2023-07-27
    有用 2
    回复
  • 从君华
    从君华
    2023-07-27

    无解,只要是以手机号作为唯一标识的,后端必须先拿到手机号才能作后续的判断。

    程序启动时即使静默拿了 openid 和 unionid 也没有任何意义,因为这只是在微信生态内唯一标识了一个用户,openid 与手机号没任何关系,即使你在数据库中持久化了这个关系。举个例子:我今天用手机号A,登录到你的A用户,明天用手机号B,登录到你的B用户,我的 openid 没变化,但登录到的用户账号是不同的。

    除非你的产品只考虑微信内生态,否则还是用第三方的短信服务吧,至少在扣费前,我们能拿到用户的手机号,拿到了手机号,就可以自行决定是否请求短信服务商的付费接口,这样基本都在控制范围内,微信的不行,完全没法儿用。

    2023-07-27
    有用 1
    回复
  • 豌豆骑士
    豌豆骑士
    2023-07-27

    参考楼上的,app.json拿code换openid,通过openid能查到到用户后台模拟登录返回token,没有前端才授权登录,所有用户只会在首次授权登录需要调用组件,以后使用都自动登录。

    2023-07-27
    有用 1
    回复
  • 大熊
    大熊
    2023-07-27

    input 用户输入 存数据库

    2023-07-27
    有用
    回复
  • จุ๊บ
    จุ๊บ
    2023-07-27

    进入小程序静默获取openid,根据openid 判断是否需要授权手机号就好了

    2023-07-27
    有用
    回复
  • CRMEB
    CRMEB
    2023-07-27

    可以先关了手机号功能观望一下,会有大佬分享经验的

    2023-07-27
    有用
    回复 1
    • 物语
      物语
      2023-07-27
      你就是大佬啊
      2023-07-27
      回复
登录 后发表内容