IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 与验证相关的cookie、session、token -> 正文阅读

[网络协议]与验证相关的cookie、session、token

cookie认证

简单的讲cookie是服务端发送给客户端、并保存在客户端的,在下次访问该服器时,这个cookie就是彼此识别的凭证。

cookie是保存在本地终端的数据。由服务端设置并生成后,发送给浏览器,浏览器就保存发送过来的cookie,此后并不会因为关闭浏览而丢失cookie,在下次访问同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器就加入了一些限制确保cookie不会被恶意使用,同时不会占据太多的磁盘空间,所以每个域的cookie数量是有限的。

cookie的组成有:名称(key)、值(value)、有效域(domain)、路径(域的路径,一般设置为全局:“\”)、失效时间等。

session认证

session是保存在服务端的经过加密存储用户的属性及配置信息。当我们打开浏览器访问某网页时,session就建立,只要浏览器不关闭(也有时间限制,可以自己设置超时时间),这个网站就可以记录用户的状态,当浏览器关闭时,session结束。

session利用cookie建立会话过程
1、客户端第一次请求网站时,服务端生成session并生成了session id来唯一标识这个session,并发送给客户端浏览器
2、浏览器再次请求时将session id放在请求的cookie中一并发送到服务器,服务器从请求中提取出session id,通过对比找到这个用户对应的session,从而得知该用户的登录信息。一般session id有时间限制,超时后会被销毁,默认30分钟
3、用户在应用程序的web页面间跳转时,也是一次会话期间,只要浏览器不关闭,session id不变。session id除了可保存在cookie中之外,还可以保存在url中,作为一个请求的参数(sid)

token认证

token是服务端向客户端第一次发送请求后,服务端利用登录成功后的凭证做数字签证,加密后得到token发送给浏览器。浏览就保存该token,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。后面再次访问时,将token放到cookie中或url中发送给服务器,服务器提取浏览器发送的token值,做解密和签名认证,拿到凭证并判断合法性。

cookie与sesion的区别

1、cookie存放在客户端,session存放在服务端

2、cookie不安全,任意一个客户端可以仿造一个相同的cookie,达到访问的目的

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

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

5、一般将登录信息等重要的信息,以session形式存放;其他信息以cookie形式存放

session与token的区别

token比session更安全。
Session?是一种HTTP存储机制,目的是为无状态的HTTP提供的持久机制。所谓Session?认证只是简单的把User?信息存储到Session?里,因为SID?的不可预测性,暂且认为是安全的。这是一种认证手段。?而Token?,如果指的是OAuth Token?或类似的机制的话,提供的是 认证 和 授权 ,认证是针对用户,授权是针对App?。其目的是让 某App有权利访问 某用户 的信息。这里的?Token是唯一的。不可以转移到其它?App上,也不可以转到其它 用户 上。?转过来说Session?。Session只提供一种简单的认证,即有此?SID,即认为有此?User的全部权利。是需要严格保密的,这个数据应该只保存在站方,不应该共享给其它网站或者第三方App。?所以简单来说,如果你的用户数据可能需要和第三方共享,或者允许第三方调用?API?接口,用?Token?。如果永远只是自己的网站,自己的?App,用什么就无所谓了。

? token就是令牌,比如你授权(登录)一个程序时,他就是个依据,判断你是否已经授权该软件;cookie就是写在客户端的一个txt文件,里面包括你登录信息之类的,这样你下次在登录某个网站,就会自动调用cookie自动登录用户名;session和cookie差不多,只是session是写在服务器端的文件,也需要在客户端写入cookie文件,但是文件里是你的浏览器编号.Session的状态是存储在服务器端,客户端只有session id;而Token的状态是存储在客户端。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:59:41  更:2021-10-16 20:01:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:55:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码