Cookie与Session的区别

Cookie与Session的区别

  他们都是一个会话跟踪技术

    1.cookie数据存放在客户的浏览器上,session数据放在服务器上

    2.ookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。

    3.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。

    4.单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。(Session对象没有对存储的数据量的限制,其中可以保存更为复杂的数据类型)

  两者最大的区别在于生存周期,一个是IE启动到IE关闭.(浏览器页面一关 ,session就消失了),一个是预先设置的生存周期,或永久的保存于本地的文件。(cookie)

Cookie欺骗:

  按照浏览器的约定,只有来自同一域名的cookie才可以读写,而cookie只是浏览器的,对通讯协议无影响,所以要进行cookie欺骗可以有多种途径:

    1、跳过浏览器,直接对通讯数据改写 

    2、修改浏览器,让浏览器从本地可以读写任意域名cookie 

    3、使用签名脚本,让浏览器从本地可以读写任意域名cookie(有安全问题) 

    4、欺骗浏览器,让浏览器获得假的域名

cookie被禁止了session还能使用吗?

    不能使用了,因为session_id是存储在cookie里面的,

    但是又解决的方法,就是重写客户请求的url,将session_id 添加到 URL 信息中,

    就可以保证在客户端禁用或不支持COOKIE时,仍然可以使用Session

原文地址:https://www.cnblogs.com/jiekesi/p/14087152.html