express使用cookie
-
/** cookie-parser使用 安装 npm install cookie-parser 使用: 1、const cookieParser = require('cookie-parser') 2、app.use(cookieParser()) 3、设置cookie res.cookie("name","zhangsan",{maxAge:900000,httpOnly:true}) 4、获取cookie req.cookies.name 5、配置参数说明 maxAge:number 单位ms 过期时间 signed:Boolean 是否加密 如果开启加密,浏览器端就会看到一个加密串,并且无法修改,如果修改了,获取时会获取到false expries:Date 过期时间 设置cookie过期的日期 和maxAge作用一样 httpOnly:Boolean 默认是false 如果设置为true 就只能在nodejs后台来访问,不能再前台的javascript中访问了 path: String 默认不用配置 如果配置,就只能在指定路由(页面)可以访问 domain: String 域名 可以让同域的二级域名共享cookie 比如aaa.itying.com bbb.itying.com 但不能是 qq.com res.cookie("username","zhangsan",{maxAge:1000 * 60 * 60,domain:".itying.com"}); secure: Boolean 默认为false 代表在http协议生效 如果为true 在只在https协议生效 cookie加密 1、配置中间件的时候需要传入秘钥 传入一个字符串 app.use(cookieParser("itying")) 2、设置cookie时,需要开启加密 res.cookie("username","zhangsan",{maxAge:1000 * 60 * 60,signed:true}); 3、获取加密cookie req.signedCookies */ const express = require("express"); const app = express(); const cookieParser = require('cookie-parser') // 配置cookieParser中间件 app.use(cookieParser("itying")) app.get("/",(req,res) => { // 设置cookie key是username value是张三 过期时间是1小时 // res.cookie("username","zhangsan",{maxAge:1000 * 60 * 60,path:"/artical"}); // cookie加密 res.cookie("username","zhangsan",{maxAge:1000 * 60 * 60,signed:true}); res.send("首页") }) app.get("/artical",(req,res) => { // 获取cookie let username = req.cookies.username; res.send("新闻页面---"+username) }) app.get("/user",(req,res) => { // 获取cookie let username = req.cookies.username; res.send("用户---"+username) }) app.get("/product",(req,res) => { // 获取cookie let username = req.signedCookies.username; res.send("用户---"+username) }) app.listen(3000)
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通