express中cookie的基本使用
程序员文章站
2024-03-20 14:12:40
...
Cookie的使用
express中使用cookie的话,需要引入cookie-parser模块。步骤如下
1 安装 npm install cookie-parser --save
2.引入 const cookParser = require('cookie-parser');
3.设置中间件
app.use(cookParser());
4.设置cookie
前两个参数为cookie的键值,第三个参数为一个对象,可以设置cookie各种属性
res.cookie("name","zlfan",{maxAge: 1000*60*60})
5.获取cookie
req.cookies.name
例子app.js:
const express = require('express');
const cookParser = require('cookie-parser');
const app = express();
app.use(cookParser())
app.get('/',(req,res)=>{
res.cookie("name","zlfan",{maxAge: 1000*60*60})
res.send("设置cookie");
})
app.get('/getCookie',(req,res)=>{
const name = req.cookies.name;
res.send("获取到cookie:"+name);
console.log(name);
})
app.listen(3000)
res.cookie()
第三个参数的相关属性见下表:
属性 | 说明 |
---|---|
domain | 键值对,可以设置要保存的 Key/Value,注意这里的 name 不能和其他属性项的名字一样 |
Expires | 过期时间(秒),在设置的某个时间点后该 Cookie 就会失效,如 expires=Wednesday,09-Nov-99 23:12:40 GMT |
maxAge | 最大失效时间(毫秒),设置在多少时间后失效 |
secure | 当 secure 值为 true 时,cookie 在 HTTP 中是无效,在 HTTPS 中才有效 |
Path | 表示 cookie 影响到的路,如 path=/。如果路径不能匹配时,浏览器则不发送这个 CookiehttpOnly:是微软对 COOKIE 做的扩展。如果在 COOKIE 中设置了“httpOnly”属性,则通过程序(JS脚本、applet 等)将无法读取到 COOKIE 信息,防止 XSS 攻击产生。 |
httpOnly | 默认是false ,当为true 时,只能服务器端进行获取,JS等前端语言无法获取cookie |
singed | 表示是否签名 cookie, 设为 true 会对这个 cookie 签名,这样就需要用res.signedCookies 而不是 res.cookies 访问它。被篡改的签名 cookie 会被服务器拒绝,并且 cookie值会重置为它的原始值 |
cookie的删除:
express直接提供了api删除浏览器中的cookie:
function(req, res, next){
...
res.clearCookie(name [, options]);
...
}
clearCookie()
第一个参数接收cookie的name,如res.clearCookie('name')
推荐阅读
-
express中的cookie和session
-
使用JAVA类对Cookie的简单操作进行封装
-
express中使用cookie
-
express中cookie的基本使用
-
express中设置cookie的httpOnly属性防御xss攻击
-
servlet中Cookie使用案例:显示浏览器上次访问时间
-
Session和Cookie的概念及在Express框架中的使用
-
《Cookie案例3》——————使用Cookie记录登录的用户名,并用Session获取到用户名
-
php学习笔记(二十六)php中session的初步使用(基于cookie的)
-
Cookie和Session-----会话跟踪中的两个重要技术