cookie 的设置与获取及删除

写了好多demo可是一直没有记录,怕忘记的时候找不到,所以决定发上来。

const express=require("express");
const cookieParser=require("cookie-parser");
var server=express();
server.use(cookieParser('we5tfrtf7ytg'));
server.use('/bbb',function (req,res) {
      req.secret='we5tfrtf7ytg';
      res.cookie('user','hong',{signed:true});
      console.log('不签名的:',req.cookies);
      console.log('签名的:',req.signedCookies);
    res.send("ok");
});
server.listen(8090);
image.png

终端打印如下:


image.png

总结

cookie是不安全的,所以在设置cookie时,可以给它添加签名以防止篡改,在获取cookie时需要用到中间件cookie-parser,一般会有两种类型的cookie:
1.不带签名的,这时候用req.cookies获取
2.带签名的,这时候用req.signedCookies获取,且需要把秘钥传给cookieParser
为什么不给所有cookie设置签名呢?设置完签名的cookie明显会变大,因为cookie有大小限制(4k),在使用cookie的时候要省着用。所以普通的信息还是不用签名。
3.删除cookie(res.clearCookie("名字"))

const express=require("express");
const cookieParser=require("cookie-parser");
var server=express();
server.use(cookieParser('we5tfrtf7ytg'));
server.use('/bbb',function (req,res) {
     res.clearCookie("user");//删除cookie
    res.send("ok");
});
server.listen(8090);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容