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 管理用户状态之外,还需要对用户进行重新验证,比如重新输入密 码,或者使用短信验证码等方式。

  • 相关阅读:
    LVS实现负载均衡原理及安装配置 负载均衡
    Jexus-5.6.3使用详解
    公共笔记
    net 网站过滤器 mvc webapi
    WebApi 生成帮助文档及顺便创建简单的测试工具
    Dapper.NET——轻量ORM
    C# Entity Framework并发处理
    linq 日常关键字使用
    解决nginx负载均衡的session共享问题
    table中实现数据上移下移效果
  • 原文地址:https://www.cnblogs.com/crbhf/p/15114658.html
Copyright © 2011-2022 走看看