Cookie 是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一主域名的时候共享数据。Express 中要使用 Cookie 的话,我们需要使用 cookie-parser
中间件来实现。该中间件用来解析 Cookie 头,并使用 cookie 名称作为键的对象来填充 req.cookies
。
安装
npm install cookie-parser
API
var express = require('express')
var cookieParser = require('cookie-parser')
var app = express()
app.use(cookieParser())
设置
属性 | 描述 |
---|---|
domain | 域名 name=value:键值对,可以设置要保存的 Key/Value,注意这里的 name 不能和其他属性项的名字一样 |
Expires | 过期时间(秒): 在设置的某个时间点后该 Cookie 就会失效, 如 expires=Wednesday, 09-Nov-99 23:12:40 GMT |
maxAge | 最大失效时间(毫秒),设置在多少后失效 |
path | 表示 cookie 影响到的路路径,如 path=/。如果路径不能匹配时,浏览器则 不发送这个 Cookie |
httpOnly | 通过脚本程序(JS 脚本、applet 等)将无法读取到 COOKIE 信息,防止 XSS 攻击产生 |
singed | 表示是否签名 cookie, 设为 true 会对这个 cookie 签名 . |
参考实例
访问 codesandbox 查看完整实例代码及最终效果。
我们通过传递 secret
字符串来启用签名 cookie 支持并赋值给 req.secret
,以便其他中间件可以使用它。
注意
- cookie 保存在浏览器本地
- 正常设置的 cookie 是不加密的,用户可以自由看到
- 用户可以删除 cookie,或者禁用它
- cookie 可以被篡改
- cookie 可以用于攻击
评论 (0)