Flask 的cookie和session

cookiesession

  • HTTP协议本身是无状态的

  • 为了让用户登录成功之后,下次再请求数据时,服务器仍然认识,引入状态保持

    • cookie: 信息存储在 客户端,大小有限制,4k, 不安全,容易被窃用,伪造

      • 用户登录成功,将 信息存入 cookie,返回给浏览器

      • 浏览器将 cookie 存入本地

      • 下次请求时,浏览器携带 cookie

      • 服务器 根据 cookie中的信息判断用户是否为合法用户

    • session信息存在 服务器,更安全

      • 用户登录成功,将信息存入 服务器端的 session

      • session_id 存入 cookie,返回给浏览器

      • 浏览器将 session_id 存入 本地

      • 下次请求时,携带 cookie中的 session_id 到服务器

      • 服务器根据 cookie 中的 session_id 去session中取对应的用户信息

        • 取到,说明该用户是合法用户

        • 取不到,说明 该用户是不合法用户

    flask中的 session机制不一样:

    • 用户登录成功,将信息存入 session

    • 服务器将 session 进行加密,存入 cookie,返回给浏览器

    • 浏览器将 信息存入本地

    • 下次请求时,浏览器携带cookie

    • 服务器根据 cookie的 加密信息,进行 解密

      • 解密成功,符合预期结果,说明该用户时合法用户

      • 解密不成功,不符合预期结果,说明不是合法用户

posted @ 2021-05-31 10:39  罗万  阅读(101)  评论(0)    收藏  举报