说到cookie与session我们首先要说一下为什么要引入这两个东西,这两个多西到底是干什么的

起源

由于HTTP协议使无状态的:

  • 每一次请求都是新的请求,不会记得之前通信的状态
  • 客户端与服务端的一次通讯,就是一次会话

由于HTTP协议无状态的特性,我们在某些存在状态的网站中(如登陆),如果只是用HTTP协议而不加入状态保持,那当用户每次访问一个新的网页都需要用户进行登陆,降低用户的体验度,因此引入cookie和session对会话的状态进行存储,以达到状态保持的效果。

区别

Cookie

保存在浏览器中,以键值对的形式存在,可以用来做用户认证,存储上限一般为4K; 由于数据存储在浏览器中,容易被其他恶意程序利用,数据的安全性不高。

Session

将用户的会话信息保存在服务器端,key值是随机产生的字符串,value值时session的内容,依赖于cookie将每个用户对应的key值保存到浏览器中; session没有具体的大小限制,可以存储的数据量比cookie大; 由于信息保存在服务器端,不会轻易的被恶意程序利用,数据的安全性相对较高

安全性

上面也提到了,cookie是存在用户的浏览器中的,是可以被恶意程序获取并加以利用的;那么问题来了,既然cookie内的内容会被获取到,那存在cookie中的sessionid(也就是key值),岂不是也会被获取到并加以利用?

没错,其实HTTP本身就不安全,只要是存在cookie中的数据都可以获取到并加以利用,但是session的安全性也是相对的,由于数据存储在数据库中,就算sessionid被获取利用,但是session中的数据并不会被恶意程序获取,这一点相对cookie来说就安全了一些;

所以使用HTTP协议的网页本身就不会带有较为敏感的信息(如支付),如果涉及到一些敏感的信息,并不希望被轻易获取到,还是建议使用HTTPS协议。

以上纯属个人理解,如有错误,欢迎指正

转载于:https://juejin.im/post/5c07c7026fb9a049fd0fa262

Cookie与Session的安全性的更多相关文章

  1. 基于cookie或session的登陆验证之安全性问题

    因为session是关了浏览器就没了.所以可以通过cookie结合session方法来做验证! 第一次登陆,生成一个cookie,保存一些加密的帐号信息,然后再生成一个session 这样去其他需要验 ...

  2. Cookie和Session的那些事儿

    Cookie和Session都是为了保持用户的访问状态,一方面为了方便业务实现,另一方面为了简化服务端的程序设计,提高访问性能.Cookie是客户端(也就是浏览器端)的技术,设置了Cookie之后,每 ...

  3. Cookie与Session

    再说Cookie与Session之前,先要了解一下http协议. 何为http协议: http协议即超文本传输协议,一种基于浏览器请求与服务器响应的协议,该协议主要的特点就是它是一种无状态的协议(只针 ...

  4. 【转】Cookie和Session区别和联系详解

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  5. 理解Cookie和Session机制(转)

    目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...

  6. Cookie与Session的区别-总结很好的文章

    Cookie与Session的区别-总结很好的文章 本文分别对Cookie与Session做一个介绍和总结,并分别对两个知识点进行对比分析,让大家对Cookie和Session有一个更深入的了解,并对 ...

  7. cookie和session详解

    cookie和session的区别 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来.当下次你再光临同 ...

  8. 关于Cookie和Session的优缺点

    关于Cookie和Session的优缺点 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. Cookie的优缺点:优点:极高的扩展性和可用 ...

  9. Cookie与Session的区别

    cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Management Mechanism 是通用c ...

随机推荐

  1. zsh terminal set infinity scroll height

    zsh terminal set infinity scroll height zsh Terminal 开启无限滚动 https://stackoverflow.com/questions/2761 ...

  2. Apple & 人体工程学

    Apple & 人体工程学 https://support.apple.com/zh-cn/HT205655 MBP 2018 https://help.apple.com/macbookpr ...

  3. LeetCode 最大收益的分配工作

    LeetCode 最大收益的分配工作 工作安排 现在有n位工程师和6项工作(编号为0至5),现在给出每个人能够胜任的工作序号表(用一个字符串表示,比如:045,表示某位工程师能够胜任0号,4号,5号工 ...

  4. ES6 ...rest In Action

    ES6 ...rest In Action const arr = [ 2.48, 13.77, 8.64, 20.17, 8.94, 8.07, 12.05, 5.71, 17.54, 2.63 ] ...

  5. Python module all in one

    Python module all in one Python Modules https://docs.python.org/3/tutorial/modules.html Fibonacc # F ...

  6. React Native & Android & Text Input

    React Native & Android & Text Input react native clear input value https://stackoverflow.com ...

  7. Renice INC:法国葡萄酒为什么独占世界鳌头?

    提起葡萄酒,许多人首先想到的就是法国.法国有着悠久的酿酒历史和精湛工艺,"82年的拉菲"几乎成了大众认识葡萄酒的代名词.市面上的进口葡萄酒琳琅满目,原产国众多,意大利.西班牙.美国 ...

  8. uni-app小白入门自学笔记(二)

    码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14429616.html 目录 码文不易啊,转载请带上本文链接呀,感谢感谢 https ...

  9. Linux的启动过程及init进程

    Linux下有三个特殊进程: idle进程(pid=0)idle进程其前身是系统创建的第一个进程,0号进程,也唯一一个没有通过fork()或者kernel_thread产生的进程,由系统自动创建,运行 ...

  10. 将VMware虚拟机最小化到托盘栏

    版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可.   目录 前言 将VMware最小化到托盘栏的方法 1.下载 Trayconizer 2.解压 trayco ...