美文网首页
Cookie & Session

Cookie & Session

作者: codingQi | 来源:发表于2019-09-30 17:14 被阅读0次

    1. Cookie简介

    Cookie是能够让网站服务器把少量文本数据存储到客户端的硬盘、内存,或是从客户端的硬盘、内存读取数据的一种技术。

    需要cookie

    cookie作用流程

    • 当你请求某个网站时;

    • 该网站可能向你的电脑硬盘里写入一个非常小的文本文件,它可以记录你的用户ID、密码、停留的时间等信息,这个文件就是cookie文件;

    • 当你再次来到该网站时,浏览器会自动检测你的硬盘,并将存储在本地的cookie发送给网站,网站通过读取cookie,得知你的相关信息,就可以做出相应的动作,如:直接登录,而无须再次输入账号和密码。


    cookie分类:

    cookie按照在客户端存储的位置,可以分为内存cookie硬盘cookie

    • 内存cookie:由浏览器维护,保存在内存中,浏览器关闭后就消失,其存在时间是短暂的。

    • 硬盘cookie:保存在硬盘里,有一个过期时间,除非是用户手动处理或到了过期时间,否则硬盘cookie不会被删除,其存在时间是长期的。

    所以,cookie也可分为持久cookie和非持久cookie。


    需要清楚:每个网站的cookie互不相关:

    • 一个用户的电脑里可能有多个cookie存在,它们分别是不同网站存储的信息;

    • 但是,不要担心···;

    • 一个网站只能取回该网站本身放在电脑里的cookie,无法得知电脑上的其他网站的cookie信息,也无法取得其他任何数据。


    cookie也是有限制的:

    • 大多数浏览器支持最大为4096B的cookie,这样就限制了cookie的大小最多也只能在4KB左右。
    • 而且,浏览器也限制站点可以在用户计算机上存储cookie的数量,大多数浏览器只允许每个站点存储20个cookie。
    • 如果试图存储更多的cookie,则最旧的cookie便会被丢弃。
    • 有些浏览器还会对来自所有站点的cookie总数做出绝对限制,通常为300个。

    请求数据时,cookie在哪里:

    在header里的cookie字段里

    XSS会话劫持:

    拿到用户cookie,无需输入用户的账号密码就能够登录用户的账户。

    注意:有些开发者使用cookie时,不会当作身份验证来使用,比如,存储一些临时信息,即使攻击者拿到了cookie也是没有用处的。因此,并不是说只要有cookie,就可以“会话劫持”。

    2. session简介

    除了cookie外,维持会话状态还有一种形式是session。


    知识点:

    • session在计算机中,尤其是在网络应用中,被称为“会话”,Session机制是一种服务器端的机制,服务器使用一种类似散列表的结构来保存信息。

    • web中的session是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是一次客户端与服务器端的“对话”,被称为session,当浏览器关闭后,session自动注销。

    • 每个用户的会话状态都是不同的session,不同角色登录网站,也是不同的session。

    • 为了区分这些用户,服务器依靠的是提供用户唯一的sessionId。当用户第一次连接到服务器时,会自动分配一个sessionId,这个sessionId是唯一的且不会重复的“编号”。如果服务器关闭或者浏览器关闭,session将自动注销,当用户再次连接时,sessionId将会重新分配。

    3. 两者的区别

    session与cookie最大的区别在于,cookie是将数据存储在客户端,而session则是保存在服务端,仅仅是在客户端存储一个ID,相对来说,session比cookie要安全。

    相关文章

      网友评论

          本文标题:Cookie & Session

          本文链接:https://www.haomeiwen.com/subject/urxhpctx.html