说到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. exgcd&&中国剩余定理专题练习

    hdu1573求中国剩余定理解的个数 #include <iostream> #include <cstdio> using namespace std; int a[100] ...

  2. python阿里云api查询域名是否可以注册(CheckDomain)

    import requests from fun import * from urllib import parse url ='http://domain.aliyuncs.com/?' acces ...

  3. SSL 数据加密原理简述

    最近调试mqtt协议,为了保证数据安全性和将来客户端的对云的兼容性选择了openssl作为安全加密中间层,而没有使用私有的加密方式.所以花了点时间学习了一下ssl 加密流程整理如下: 因为正常正式使用 ...

  4. element-ui UI 组件库剖析

    element-ui UI 组件库剖析 /* Automatically generated by './build/bin/build-entry.js' */ https://github.com ...

  5. style element & web components

    style element & web components style.textContent style.setContent bug style.textContent const st ...

  6. JavaScript Array methods performance compare

    JavaScript Array methods performance compare JavaScript数组方法的性能对比 env $ node -v # v12.18.0 push vs un ...

  7. 一个最简单 node.js 命令行工具

    一个最简单 node.js 命令行工具 node.js cli $ node cli.js xyz # OR $ node cli xyz 接受参数 process.argv js "use ...

  8. windows10 WSL

    搭建WSL linux下的home目录,映射windows的目录地址 用户家目录 ➜ ~ pwd /home/ajanuw C:\Users\ajanuw\AppData\Local\Packages ...

  9. 教你玩转CSS border(边框)

    边框样式 边框样式属性指定要显示什么样的边界. border-style属性用来定义边框的样式 border-style的值 代码演示: <!DOCTYPE html> <html ...

  10. django学习-3.如何编写一个html页面并展示到浏览器,及相关导入错误的解决方案

    1.前言 在django中,视图的概念是:具有相同功能和模板的网页,都可以称为视图.通俗一点来说,就是你平常打开任一浏览器,输入一个地址A后看到浏览器窗口展示出来地址A所对应的页面内容B,页面内容B就 ...