zoukankan      html  css  js  c++  java
  • 26、Session知识大总结

    除了可以将用户信息通过 Cookie 存储在用户浏览器中,也可以利用 Session 存储在服务器端,存储在服 务器端的信息更加安全。

    Session 可以存储在服务器上的文件、数据库或者内存中。也可以将 Session 存储在 Redis 这种内存型数 据库中,效率会更高。

    使用 Session 维护用户登录状态的过程如下:

    1. 用户进行登录时,用户提交包含用户名和密码的表单,放入 HTTP 请求报文中;

    2. 服务器验证该用户名和密码,如果正确则把用户信息存储到 Redis 中,它在 Redis 中的 Key 称为 Session ID;

    3. 服务器返回的响应报文的 Set-Cookie 首部字段包含了这个 Session ID,客户端收到响应报文之后将该 Cookie 值存入浏览器中;

    4. 客户端之后对同一个服务器进行请求时会包含该 Cookie 值,服务器收到之后提取出 Session ID,从 Redis 中取出用户信息,继续之前的业务操作。

    注意:Session ID 的安全性问题,不能让它被恶意攻击者轻易获取,那么就不能产生一个容易被猜 到的 Session ID 值。此外,还需要经常重新生成 Session ID。在对安全性要求极高的场景下,例如 转账等操作,除了使用 Session 管理用户状态之外,还需要对用户进行重新验证,比如重新输入密 码,或者使用短信验证码等方式。

  • 相关阅读:
    Spring Boot Logback应用日志
    Spring Boot Logback应用日志
    Spring boot Mybatis
    Spring boot Mybatis
    Spring boot Mybatis
    Spring Boot,Spring Data JPA多数据源支持
    无限循环输入
    生成四位随机不重复验证码
    ExcelUtil
    智能社- 牛逼的splice
  • 原文地址:https://www.cnblogs.com/crbhf/p/15114658.html
Copyright © 2011-2022 走看看