欢迎光临
我们一直在努力

Express.04 Cookie的使用

文章目录

cookie 特点

  • cookie 保存在浏览器本地,只要不过期关闭浏览器也存在
  • 正常情况下cookie不加密,用户可以轻松看到
  • 用户可以删除或禁用cookie
  • cookie可以被篡改
  • cookie可用于攻击
  • cookie存库量很小 一般是4k
  • 发送请求会自动带上cookie信息

cookie 安装与使用

安装

npm i cookie-parser --save

引入

const cookieParser = require("cookie-parser")

设置中间件

app.use(cookieParser())

设置cookie

res.cookie("name","zhangsan",{maxAge:9000,httpOnly:true})

获取cookie

req.cookie.name

基础案例

const express = require('express')
const cookieParser = require('cookie-parser')

const app = express()

app.use(cookieParser())

app.get('/set',(req,res,next)=>{
    res.cookie('username','sry',{maxAge:20000,httpOnly:true})
    res.send('设置cookie成功')
})
app.get('/get',(req,res,next)=>{
    console(req.cookie.username) //sry
    res.send('cookie'+req.cookie.username)
})

cookie 参数

  • domain 域名
  • name = value 键值对 可以设置要保存的key/value
  • express 在某个时间点后该express失效
  • maxAge 设置在多少号秒后失效
  • secure 为true,cookie只能在https中使用
  • Path 表示在哪个路由下能访问cookie
  • httpOnly 设置后无法通过JS等程序访问cookie,防止xss攻击
  • singed 为cookie进行签名,签名后需要使用res.singnedCookies访问

共享cookie

如果想要多个二级域名共享cookie,需要将cookie设置在主域名上,如sanrenyan.com,主域名上的cookie可以被所有二级域名访问。

res.cookie('username','sry',{
    maxAge:2000,
    httpOnly:true,
    domain: sanrenyan.com // 这里设置主域名
})
赞(0) 打赏
未经允许不得转载:散人研 » Express.04 Cookie的使用
分享到: 更多 (0)

评论 抢沙发

9 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏