说到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. Mysql(三)------事务的特性、事务并发、事务读一致性问题

    1 什么是数据库的事务? 1.1 事务的典型场景 在项目里面,什么地方会开启事务,或者配置了事务?无论是在方法上加注解,还 是配置切面 <tx:advice id="txAdvice& ...

  2. linux 基础正则表达式练习

    感谢鸟哥!!! 如果Linux能够直接连网络,使用以下命令还获取文件吧 wget http://linux.vbird.org/linux_basic/0330regularex/regular_ex ...

  3. Vue Big Changes All in One

    Vue Big Changes All in One Vue 重大更新 Vue Versions Vue 版本变更 Vue 3.x Vue 2.x refs vue lifecycle https:/ ...

  4. mobile css & rem & em & px

    mobile css & rem & em & px 1 rem === 16px 任意浏览器的默认字体高都是 16px, 所有未经调整的浏览器都符合: 1em=16px, 那 ...

  5. nasm 函数返回一个数组 x86

    getArguments.asm: extern VirtualAlloc section .text global dllmain export getArguments dllmain: mov ...

  6. C++面试题集合(持续更新)

    C++面试中常被问到的几个知识点: 1. 基本概念 多态是什么,C++通过什么实现的多态.虚函数是什么,纯虚类是什么.重载是什么,重写是什么.重载运算符怎么写.new和malloc有什么区别.公有继承 ...

  7. 学习java之电脑的常用快捷键和DOS窗口下的常用命令

    学习java之电脑的常用快捷键和DOS窗口下的常用命令 电脑一些常用的快捷键 win快捷键: 单独按Windows:显示或隐藏 "开始"功能表 Windows+BREAK:显示&q ...

  8. 12张图打开JMeter体系结构全局视角

    JMeter是Java技术栈工具,在软件测试领域应用非常广泛,无论是性能测试还是接口测试,技术都很成熟和稳定.它有一个突出特点:开源,适合做二次开发,以阿里为代表的Java技术栈公司都对它青睐有加.在 ...

  9. JDK的下载、安装与配置

    一.JDK的下载 1.JDK下载地址:https://www.oracle.com/cn/java/technologies/javase-downloads.html 2.登录Oralce官网:ht ...

  10. Image Super-Resolution via Sparse Representation——基于稀疏表示的超分辨率重建

    经典超分辨率重建论文,基于稀疏表示.下面首先介绍稀疏表示,然后介绍论文的基本思想和算法优化过程,最后使用python进行实验. 稀疏表示 稀疏表示是指,使用过完备字典中少量向量的线性组合来表示某个元素 ...