NODE.JS使用Cookie
疑问: 怎么把数据库的数据通过不设置cookie的方式用和cookie signed同样的加密方式 然后进行比较??
Cookie的使用
-
1, 安装 :npm i cookie-parser
-
2, 引入:var cookieParser=require(‘cookie-parser’)
-
3,设置中间件: app.use(cookieParser())
-
4, 设置cookie: res.cookie(“name”,“li”,{maxAge:9000,httpOnly:true})
-
5, 获取cookie;req.cookies.name,(原生获取的方法是document.cookie())
-

-
注:为保证数据安全,可以对加密字符串再次进行多次MD5加密
Cookie加密
-
1.配置cookie-parser中间件
app.use(cookieParser('xxx')); //xxx表示加密的随机数(相当于密钥)
-
2.设置加密的cookie
res.cookie('userinfo','123',{maxAge:600000,signed:true}); //signed设置为true 表示加密 -
3.获取加密的cookie
req.signedCookies.键名

JS原生使用Cookie
设置 cookie 值的函数
首先,我们创建一个函数用于存储访问者的名字:
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
以上的函数参数中,cookie 的名称为 cname,cookie 的值为 cvalue,并设置了 cookie 的过期时间 expires。
该函数设置了 cookie 名、cookie 值、cookie过期时间。
获取 cookie 值的函数
然后,我们创建一个函数用于返回指定 cookie 的值:
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
检测cookie值的函数
最后,我们可以创建一个检测 cookie 是否创建的函数。
function checkCookie(cname)
{
var name = getCookie(cname)
if(name != '') {
// do something
} else {
// do something
}
}
本文介绍了如何在Node.js中使用cookie-parser中间件来设置、获取及加密Cookie。包括安装和配置cookie-parser,设置和获取Cookie的具体方法,以及如何通过设置signed属性实现Cookie的加密。
7447

被折叠的 条评论
为什么被折叠?



