Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
W
wiki-php
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • 互联网应用开发
  • wiki-php
  • Wiki
  • pc user login

Last edited by 姚坤 Apr 17, 2017
Page history
This is an old version of this page. You can view the most recent version or browse the history.

pc user login

用户登录流程

登录之前,首先要判断是否显示验证码。方法是:从redis中取出该用户的输入错误次数,如果大于5次则显示验证码

$error_num = $redis->get($key)//$key为用户账号

1.普通用户登录:

失去焦点判断账户名是否存在接口
/pcuser-tologin?action=check_login&user_name=?
登录按钮接口

登录时要根据该用户的错误次数,进行验证码的校验

/pcuser-tologin?action=to_login&user_name

密码连续错过5次,显示图片验证码:

第一次登录

(1)输入密码正确,登录成功

(2)输入密码不正确,将用户账号和'code'拼接用md5加密后作为键,过期时间为一个小时$redis->set($key,1,3600),进行下一次登录

---->错误登录后,再次登陆 (1)输入密码正确,登录成功,并且清空该用户redis里面存入的值$redis->set($key,null) (2)输入密码不正确,取出用户输入的错误次数$error_num = $redis->get($key)再加一之后($error_num++)存入redis,$redis->set($key,$error_num,3600)

2.第三方登录:

点击第三方登录按钮,在登录之后会返回(appid,user_info,time,签名认证,登录方式)根据得到的appid到数据中查询有appid和手机号

(1)appid不存在:绑定手机号,向数据库插入一条新的数据

(2)appid存在,但手机号不存在(老用户):绑定手机,进行数据更新

(3)appid存在,手机号也存在:登录成功

3.关于手机验证码的问题:

当前存入手机验证码:$key = $this->get_sms_key($phone,code);

$redis->set($key,$code,600)//十分钟内有效

现在修改为:$key = $this->get_sms_key($phone,code);

$redis->set($key,$code,86400)//一天内有效

添加过期时间:$key_expire = $key.’expire’

$redis->set($key_expire,time()+600,86400)//过期时间设为十分钟

验证验证码:

验证码为空

验证码错误:接收到的验证码与从reids中取出来的不一致

验证码过期:接收到的验证码与从reids中取出来的一致,但是时间过期time()>>>>>>>$redis->get($key_expire)

验证码正确:成功

Clone repository
  • 360safeguardnativeapi
  • all new classmate
  • bind phone
  • code standard
  • deploy_sys
  • edit common
  • edit master
  • envrioment
  • find psw
  • front new classmate
  • front statck
  • git
  • Home
  • idcard md5
  • ide
View All Pages