当前位置:   article > 正文

<微信小程序>登录界面实现密码输入错误3次,30分钟不允许该账号登录_微信小程序密码输入错误次数多了会自动锁定吗?

微信小程序密码输入错误次数多了会自动锁定吗?

当时面临如此需求,实在无从下手,后自己想了一个灵活的方法进行面对,特此记录,希望以后不会看不懂自己的代码

登陆界面设置

这个百度一下就可以,与数据库交互的登录界面很是简单,由于本项目要求不可注册,故只有登录、修改密码以及权限锁定,登陆界面略。。。。

监测用户登录错误次数

本项目中,对于用户名以及密码进行校验,故在判断到用户名正确,但是密码错误时,进行计数:

var a = that.data.err_num+1;  // a 的数值表示用户输错密码次数
          if(a>3){  //如果用户没有退出  次数刷新 重新来,防止剩余次数为 负数
            a=0;
          }
          that.setData({
            err_num : a,
            b : 3-a  // b的数值表示用户 距离锁定账户 还剩下次数  当b=0 登录按钮失能30分钟
          })
          console.log(that.data.err_num)
          wx.showModal({
            title: '提示', 
            icon : "none",
            content: '账号或密码错误,剩余次数:' + that.data.b
          })
          //当用户输错密码 三次后 将状态存入数据库中,使登录按钮失能
          if(3 == that.data.err_num ){
            wx.request({
              url:'  ',  //此接口用于 改变用户station 登录 or 30分钟后登录
              data:{
                name:that.data.phone,   
                station: 'false'  
              },
              method:'GET',
              header: {
                'content-type': 'application/json'
              },
              success:res =>{
                console.log(res.data)  
                that.setData({
                  station : false
                })    
              }
            })
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

将密码输入次数错误超过规定次数的用户记录如数据库,为登录权限验证数据库,每次页面刷线时都会先进行判断该用户是否允许登录。

30分钟记录

此处自己写了一个接口,当用户输入密码错误超过规定次数,微信小程序端就会将该用户名发给接口,接口将该用户登录station 变更为 false,30分钟后会自动将该状态修改为true。

------起初是准备写定时器,后来发现用户退出,定时器就取消了,所有状态就没了,可以尝试写入缓存解决,当并未尝试,有兴趣的朋友可以尝试

效果图

输错密码
封禁

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/131797
推荐阅读
相关标签
  

闽ICP备14008679号