NODE.JS使用Cookie 自用

本文介绍了如何在Node.js中使用cookie-parser中间件来设置、获取及加密Cookie。包括安装和配置cookie-parser,设置和获取Cookie的具体方法,以及如何通过设置signed属性实现Cookie的加密。

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
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值