zoukankan      html  css  js  c++  java
  • 如何保存用户的登录状态

    错误示范
    用户登录后,使用 localStorage 方法在浏览器客户端直接保存 user_id,每次进入网站时,通过识别 user_id 自动获取用户的信息并实现登录。

    错误点
    浏览器 localStorage 保存的数据可能被——篡改
    在浏览器控制台使用 localStorage.setItem() 即可更改当前 user_id,如果 user_id 被别人改了,那岂不是可以随意窃取任何人的信息?
    使用cookie保存用户 id 也有一样的风险,
    所以使用这种方法做保存登录状态和自动登录是不安全的

    问题解决:Token

    用户登录,后端加密生成 token,保存在用户表中,并返回给前端
    前端获取 token,保存在 localStorage 中


    自动登录

    进入网站,前端检测到 token ,首先进行 token 验证
    后端验证 token ,找到相关用户,然后返回数据,实现登录
    发送请求,解析出 user_id


    请求中携带 token
    在需要验证 token 的 controller 中定义 public function verifytoken() 方法
    在需要验证 token 的接口中调用这个函数,然后解析出 user_id


    解决策略:
    使用 localStorage + token 方法进行身份验证

    登录:前端保存 token 和 个人信息(姓名、头像等,不包括user_id)
    每次进入网站先验证 token 是否过期,如果没过期,则保持当前状态,如果过期,则清空本地 token 和 本地个人信息,并跳转到登录页

  • 相关阅读:
    Direct2D Simple
    波动+灰度图+噪点的简单实现
    控制台和窗口应用程序转换
    read from plist file
    1366X768成为全球最流行屏幕分辨率
    游戏框架类
    Animation in Cocos2diphone
    透射
    11.20
    11.19
  • 原文地址:https://www.cnblogs.com/qq128/p/14685783.html
Copyright © 2011-2022 走看看