cookie 创建
function(req, res, next){
...
res.cookie(name, value [, options]);
...
}
options:
- expires: cookie过期时间,类型为Date。如果没有设置或者设置为0,那么该cookie只在这个这个session有效,即关闭浏览器后,这个cookie会被浏览器删除。
- maxAge: 实现expires的功能,设置cookie过期的时间,类型为String,指明从现在开始,多少毫秒以后,cookie到期。
- path: cookie在什么路径下有效,默认为’/’,类型为String
- domain: 域名。设置子域名(二级域名)是否可以访问cookie。 例:domain:’.主域名’ name=value:键值对,可以设置要保存的 Key/Value,注意这里的 name 不能和其他属性项的名字一样
- secure: 当 secure 值为 true 时, cookie 在 HTTP 中是无效,在 HTTPS 中才有效
- path: 表示 cookie 影响到的路由,如 path=/。如果路径不能匹配时,浏览器则不发送这个 Cookie
- httpOnly:默认为false,建议设置为true, 客户端将无法通过document.cookie读取到 COOKIE 信息,可防止 XSS 攻击产生
- signed: 表示是否签名(加密) cookie, 设为 true 会对这个 cookie 签名,这样就需要用res.signedCookies 访问它,前提需要设置上面中间件app.use传参,未签名则用 res.cookies 访问,被篡改的签名 cookie 会被服务器拒绝,并且 cookie值会重置为它的原始值
获取
console.log(req.signedCookies);
console.log(req.signedCookies.name);
删除
function(req, res, next){
...
res.clearCookie(name [, options]);
...
}