当前位置: 首页 > news >正文

沈阳企业网站建设公司/知识营销

沈阳企业网站建设公司,知识营销,建设网站dns如何设置,wordpress 子模板cookie、session、JWT鉴权分类总结: 在一次会话中,可以向服务器发出N次请求。通过某个机制,可以让服务器和客户端建立联系。这种机制叫会话机制。在多次HTTP连接间维护用户与同一用户发出的不同请求之间关联的情况称为维护一个会话&#xff…

cookie、session、JWT鉴权分类总结:

在一次会话中,可以向服务器发出N次请求。通过某个机制,可以让服务器和客户端建立联系。这种机制叫会话机制。在多次HTTP连接间维护用户与同一用户发出的不同请求之间关联的情况称为维护一个会话(session)。其中,cookie是基于浏览器端的会话技术,session是基于服务端的会话技术。session通常都会依赖cookie。

一、cookie浅析:

存在于客户端,当用户正确登陆后服务器就会在用户的浏览器上种植了cookie,里边包含用户信息,方便再一次登录时服务器识别身份,并返回用户信息。可以设置每个cookie存活的时间

Cookie的格式中,有一个expiress,就是用来设置有效期的。
maxAge用法更加简单,推荐使用。

<script>
res.cookie("username","jack",{maxAge:90000});//用户名,存活时间9s
res.cookie("username","jack",{expiress:new Date(Date.now()+90000)})
</script>

缺点:1)不是很安全,用户可以随意修改cookie里的内容。
2)保存的数据大小有限制,每个浏览器保存的cookie多少也有限制。
3)如果客户端设置禁止cookie则cookie不能建立。

二、session浅析:

session数据存放于服务器上,当用户第一次登录成功时,服务器自动生成一个session,一个唯一的标识session-id将会被创建并响应给客户端,之后的每次请求服务器客户端都会带上session-id,以便于服务器识别身份。当然session也是基于cookie的,创建的唯一标识是储存于本地的cookie中 ,如果不设置过期时间那么这个cookie将不存放在硬盘上,当浏览器关闭的时候就消失,session-id也就丢失了,如果设置存活时间,则cookie就会保存在客户端硬盘中,即使浏览器关闭,下次访问session-id依然存在,使用session需要配置。

服务器可以通过URL重写的方式来传递session-id的值,不完全依赖cookie,如果客户端禁用cookie,服务器也是可以通过URL的方式来保存session的值。

使用session:引入express-session(一个插件)并设置如下

<script>
let session = require('express-seeeion')
let app = express();
app.use(session({secret:'keyboard cat'//密钥resave:false,saveUninitialized:teue,cookie:{maxAge:100000}
}))
</script>

缺点:1)session会一定时间的保存在服务器上边,当访问增多时,比较占用服务器的性能
2)一般情况下服务器默认保存session30分钟,过了时间就会自动销毁。
3)如果客户端设置禁止cookie则cookie不能建立。
4)扩展性,哪怕session以文件形式保存 放在redis中,对于分布式系统来说会产生高流量的数据读取。
5)容易受到csrf攻击

三、JWT鉴权浅析:

以token的方式代替传统的session-cookie模式,用于服务器,客户端传递信息给服务器。
客户端第一次成功登录后,服务器会返回一个token给客户端,客户端将响应得到的token缓存起来,比如存放在浏览器的local stroage中,之后的每次请求都会携带上token,让服务器验证。

优点:1)jwt不用session,减小开支。
2)jwt构成简单,占用很少字节。
3)json格式通用。

<script>
let jwt = require('jsonwebtoken');//引入jwt模块
let app = express();
let secretKey = "asd";//定义密钥
let tokenstr = jwt.sing({username:userInfo.username},secretKey,{expresIn:'120s'})//生成token  在发送请求时把token放在请求头header上可以保证每次客户端向服务器发送请求时都有token,以便服务器识别。
</script>

在请求头上加入:Authorize:bearer token即可。

http://www.lbrq.cn/news/828559.html

相关文章:

  • 做网站怎么加弹幕/网络推广公司口碑
  • 短视频免费素材网站/人工智能培训机构
  • 以投资思维做网站/second是什么意思
  • 建立购物网站 app/2023新闻摘抄大全
  • 上海市建设局官方网站/金花关键词工具
  • 免费可以做旅游海报 的网站/有什么好用的搜索引擎
  • 做网站什么商品好/bt磁力猪
  • 哈尔滨网站优化/全网引流推广
  • 河南省建设厅督察网站/百度灰色关键词技术
  • 怎么做网站小编/微商怎么引流被加精准粉
  • 安徽康东建设工程有限公司网站/长沙seo网络推广
  • 服装饰品网站建设/360网站关键词排名优化
  • 宁夏建设工程质量安全监督总网站/如何做网页设计
  • 企业网站建设可以分为几个层次/域名注册服务机构
  • 一个网站如何做推广方案设计/百度的网址是什么
  • 做网站谈单/百度认证有什么用
  • 河北邯郸封闭最新消息/东莞网络推广优化排名
  • 网站开发报价说明/网站推广优化方法
  • 西安那里做网站/地推app接任务平台
  • 国外用tornado做的网站/海外推广
  • 商务部网站市场体系建设司子站/百度搜索资源平台token
  • 中国建筑网官网查询报考/全网seo是什么意思
  • 做特色创意菜品的网站/2345导航网址
  • 上海网站建设高端定制/百度销售平台
  • 代刷网站系统怎么做/百度知道官网手机版
  • 梁山专做网站的公司/谷歌推广真有效果吗
  • 酒水包装设计公司/seo网站地图
  • 诸城网站建设多少钱/强强seo博客
  • wordpress主页音乐/seol英文啥意思
  • 网站建设公司彩铃/百度里面的站长工具怎么取消
  • 基于单片机智能插座设计/智能开关
  • 软件测试理论02—测试流程体系
  • SQL注入基础尝试
  • 上网行为管理-web认证服务
  • 【DataWhale】快乐学习大模型 | 202507,Task03笔记
  • 前端下载文件并按GBK编码解析内容