Cookie与Session的安全性
说到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的安全性的更多相关文章
- 基于cookie或session的登陆验证之安全性问题
因为session是关了浏览器就没了.所以可以通过cookie结合session方法来做验证! 第一次登陆,生成一个cookie,保存一些加密的帐号信息,然后再生成一个session 这样去其他需要验 ...
- Cookie和Session的那些事儿
Cookie和Session都是为了保持用户的访问状态,一方面为了方便业务实现,另一方面为了简化服务端的程序设计,提高访问性能.Cookie是客户端(也就是浏览器端)的技术,设置了Cookie之后,每 ...
- Cookie与Session
再说Cookie与Session之前,先要了解一下http协议. 何为http协议: http协议即超文本传输协议,一种基于浏览器请求与服务器响应的协议,该协议主要的特点就是它是一种无状态的协议(只针 ...
- 【转】Cookie和Session区别和联系详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- 理解Cookie和Session机制(转)
目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...
- Cookie与Session的区别-总结很好的文章
Cookie与Session的区别-总结很好的文章 本文分别对Cookie与Session做一个介绍和总结,并分别对两个知识点进行对比分析,让大家对Cookie和Session有一个更深入的了解,并对 ...
- cookie和session详解
cookie和session的区别 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来.当下次你再光临同 ...
- 关于Cookie和Session的优缺点
关于Cookie和Session的优缺点 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. Cookie的优缺点:优点:极高的扩展性和可用 ...
- Cookie与Session的区别
cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Management Mechanism 是通用c ...
随机推荐
- 008.NET5_IIS安装教程
控制面板->程序->启动或关闭Windows功能
- JavaScript Array methods performance compare
JavaScript Array methods performance compare JavaScript数组方法的性能对比 env $ node -v # v12.18.0 push vs un ...
- VSCode & useful Extensions
VSCode & useful Extensions Code Spell Checker bug user dictionary https://www.cnblogs.com/xgqfrm ...
- iPad pro & Mac mini
iPad pro & Mac mini
- SVG Tutorials
SVG Tutorials W3C https://www.w3.org/TR/SVG11/ https://www.w3.org/TR/SVG2/ https://www.w3.org/TR/svg ...
- Flutetr flutter_downloader 1.3.1
flutter_downloader 此库更新极慢,所以问题及多,可以看文档 安装 dependencies: flutter_downloader: ^1.3.1 配置 Java: // MyApp ...
- K8S线上集群排查,实测排查Node节点NotReady异常状态
一,文章简述 大家好,本篇是个人的第 2 篇文章.是关于在之前项目中,k8s 线上集群中 Node 节点状态变成 NotReady 状态,导致整个 Node 节点中容器停止服务后的问题排查. 文章中所 ...
- 教你玩转CSS Position(定位)
CSS Position(定位) position 属性指定了元素的定位类型. position 属性的五个值: static relative fixed absolute sticky 元素可以使 ...
- django学习-18.*args和**kwargs的用法和使用场景
目录结构 1.前言 2.[*args]的用法 2.1.第一步:首先编写这样的函数[test1]. 2.2.第二步:给函数[test1]赋值相关入参值. 2.3.第三步:调用函数[test1],得到以下 ...
- 玩遍博客网站,我整理了 Hugo 及其流行的风格主题
搭建博客网站是个人进入互联网世界的最常见方式之一.伴随着网站技术的发展,如何搭建博客网站已经变得非常容易了.当然,你可以选择诸如 新浪博客.CSDN.博客园 之类的大型网站,快速创建依赖于大平台的个人 ...