浅析token

news2024/11/28 16:53:15

      上一章节我们学习了cookie和session机制,但是他们都有一些缺点,所有这次我们来了解一个机制---token。

一、cookie和session的缺点

      cookie信息存储在客户端浏览器上,安全性较低,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

      session中服务器需维护用户的会话状态信息,这导致了服务器资源的占用和开销增加。水平扩展困难。而且如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。

二、什么是token?

1、概念

       Token(令牌)是在计算机系统中用于进行身份验证和授权的一种机制。它是一个特定的字符串,用于标识用户、应用程序或其他实体的身份和权限。

2、token验证原理

  • 当用户登录系统时,系统会验证用户的凭据(如用户名和密码)。
  • 验证通过,然后为该用户颁发一个令牌。这个令牌可以是一个随机生成的字符串,也可以是基于加密算法生成的。令牌通常包含有关用户身份的信息,如用户ID、角色、权限等。
  • 此后系统可以在令牌有效时间内,根据令牌中的权限信息来判断用户是否有权进行请求的操作,无需再次带上用户的凭据(如用户名和密码)。

3、token特点

  (1)唯一性:每个令牌都是唯一的,用于标识特定的用户或实体。

  (2)时效性:令牌通常具有有效期限制,一旦超过有效期,令牌将失效,需要重新进行身份验证。

  (3)安全性:令牌可以采用加密算法进行签名,以保证其完整性和安全性,防止被篡改或伪造。

    (4)无状态性:令牌是一种无状态的认证方式,服务器不需要在后端维护用户的会话状态,使得服务器更容易扩展和水平扩展。

    (5)跨域支持:令牌可以方便地在不同的域名或跨域请求中传递和验证,提供了更灵活的身份验证机制。

4、cookie,session和token的区别

方式存放地方安全性其他
cookie客户端不安全数量有限制
session服务器相对安全依赖于Cookie实现
token客户端相对安全每个请求都有签名还能防止监听以及重放攻击

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/952073.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

对称二叉树判断

目录 题目题目要求示例 解答方法一、实现思路时间复杂度和空间复杂度代码 方法二、实现思路时间复杂度和空间复杂度代码 题目 对称二叉树判断 题目要求 题目链接 示例 解答 方法一、 递归法 实现思路 使用到了判断两棵二叉树是否相等的方法,只不过对称二叉树…

扫盲:常用NoSQL数据库

前言 关系型数据库产品很多,如 MySQL、Oracle、Microsoft SQL Sever 等,但它们的基本模型都是关系型数据模型。 非关系型数据库又称为:NoSQL ,没有统一的模型,而且是非关系型的。 常见的 NoSQL 数据库包括键值数据库、…

【Dots之006】PostTransformMatrix基础知识

一、基础介绍 PostTransformMatrix是一个组件;它用于不同比例对象的一个矩阵变换组件;当在Suscene中对GameObject比例变更的时候会发现以下情况: 1、当Gameobject的比例不相同的时候,在Entity Backing Previes窗口中可以看到已经…

0102阿里云配置3台ECS服务器-大数据学习

文章目录 1 前言1 配置VPC和子网2 创建安全组3 创建云服务器ECS3.1 规划配置3.2 配置 4 xshell连接服务器5 配置基础环境5.1 主机名映射5.2 ssh免密登录5.3 jdk 6 问题集6.1 Permission denied (publickey,gssapi-keyex,gssapi-with-mic).6.2 用tar解压文件出现错误Not found i…

video标签在安卓手机内置浏览器上的播放问题

道阻且长,行而不辍,未来可期 问题: 在手机内置浏览上,虽然没有给video标签设置controls,但在内置浏览器上,就是会显示。 而且,video一旦自动播放,video的层级就会提升到最前,想设置一个盒子覆盖…

22道Mysql面试真题和答案

本专栏记录Java后端开发相关的面试题,欢迎大家阅读专栏的其他文章。 1.请介绍下联合索引的最左匹配原则 建立一个联合索引(a,b,c),相当于建立多个索引(a)(a,…

亚马逊宣布弃用低代码,Honeycode 服务即将停止。

AWS 宣布终止低代码服务 Honeycode。新客户不能注册或升级账户计划,现有客户的应用程序将在 2024 年 2 月 29 日前继续运行。在 2023 年 7 月 31 日之后,用户将不再需要支付 Honeycode 使用费。 Honeycode 是一项于2020年6月推出的完全托管服务&#xf…

C语言网络编程实现组播(多播)

1、组播IP划分 224.0.0.0~224.0.0.255 为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用; 224.0.1.0~224.0.1.255 是公用组播地址,可以用于Inter…

春秋云镜 CVE-2018-2894

春秋云镜 CVE-2018-2894 Weblogic 任意文件上传漏洞 靶标介绍 Oracle Fusion Middleware 的 Oracle WebLogic Server 组件中的漏洞(子组件:WLS - Web Services)。受影响的受支持版本包括 12.1.3.0、12.2.1.2 和 12.2.1.3。易于利用的漏洞允…

怎样做一个知识库网站

经济和信息技术的蓬勃发展,知识资源成为了企业非常重要的无形资产。 当前,企业的核心竞争力不仅取决于硬件设备、财务实力、资源多寡、人员数量等生产因素,更加取决于企业对于知识的掌握、运用、传承和创新。 制作企业知识库,传…

静态路由(详细理解+实例精讲)

系列文章目录 华为数通学习(6) 前言 一,静态路由 二,静态路由配置 三,缺省路由 四,缺省路由应用场景 总结 前言 随着华为公司的不断发展,数据通信这门技术也越来越重要,很多人…

js数据类型?如何判断js数据类型?

在JavaScript中,有以下几种数据类型: 基本数据类型(Primitive Data Types): String(字符串):表示文本数据,使用引号(单引号或双引号)括起来。Numb…

Android自定义view流程

Android自定义view流程,主要目的是总结实现过程中的思路以及一些需要注意的地方。 首先,我们先来看一张效果图: 实现逻辑 重新指定View宽高绘制外圆圆弧背景及进度绘制中圆圆弧背景及进度绘制内圆圆弧背景及进度 知识点 onMeasure 用于测量View的大小…

读SQL学习指南(第3版)笔记08_视图和索引

1. 精心设计的应用程序通常会在保持实现细节私有的同时公开公有接口,以便未来在不影响最终用户的情况下修改设计 2. 视图 2.1. 不同于数据表,视图并不涉及数据存储,不用担心视图会填满你的磁盘空间 2.2. 一种数据查询机制 2.3. 从用户的视…

基于swing的中国象棋java小游戏jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、主要功能 可以实现双人下棋,可以悔棋,可…

R语言其他相关函数(各函数解析含实例,可供查询)

目录 一.函数相关 1.函数定义:function 2.调用文件:source 3. Call 4.Recall 5.browser 6.debug和undebug 7.trace 8.traceback 9.options 10.missing 11.nargs 12.stop 13.指定退出时执行的表达式 14.expression和eval 15.system.time 16. invisi…

Springboot+mybatis-plus+dynamic-datasource 切换数据源失败问题总结

Springbootmybatis-plusdynamic-datasourceDruid 多数据源 切换数据源失败总结 文章目录 Springbootmybatis-plusdynamic-datasourceDruid 多数据源 切换数据源失败总结0.前言1. dynamic-datasource 切换数据源失败场景总结1. spring-batch整合情况下切换数据源异常解决办法&am…

Matlab图像处理-图像缩放

基本概念 图像缩放是指将给定的图像在x轴方向按比例缩放a倍,在y轴方向按比例缩放b倍,从而获得一幅新的图像。 如果ab,即在x轴方向和y轴方向缩放的比率相同,则称这样的比例缩放为图像的全比例缩放。 如果a≠b,图像比…

Spring: HiddenHttpMethodFilter的用法及原理

作用&#xff1a;将html表单提交的post请求转换为put请求或delete请求发给接口。 html不支持put和delete. 一、web.xml中配置过滤器 <filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenH…

认识SQL sever

目录 一、数据库的概念 1.1数据库的基本概念 1.2对数据库的了解 二、数据库的分类 2.1关系型数据库&#xff08;RDBMS&#xff09;&#xff1a; 2.2非关系型数据库&#xff08;NoSQL&#xff09;&#xff1a; 2.3混合数据库&#xff1a; 2.4数据仓库&#xff1a; 2.5嵌…