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为用户账号和‘code’字符串拼接,然后进行md5加密

1.普通用户登录:

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

登录时要根据该用户的错误登陆次数,进行是否验证码的校验,如果登录错误次数大于5,则强制进行验证码的校验

/pcuser-tologin?action=to_login&user_name=?&password=?&code=?

第一次登录

(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不存在:进入绑定手机号页面,需要将user_info分配到该页面,进行注册,向数据库插入一条新的数据

(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