zoukankan      html  css  js  c++  java
  • Node05

    1、cookie :在浏览器保存的 一些数据,每次请求都会带过来,*注意   空间非常小、安全性非常差、校验cookie是否被篡改过

            (01)、cookie读取  =>  

              1、下载和引入  cookie-parser 、cookie-session

              2、server.use(cookieParser(“秘钥”));

          (02)、cookie发送 =>  res.cookie(名字,值{path: '/', 有效期,是否签名})

              1、调用 => server.use(cookieParser());

              2、发送cookie  res.cookie('user', 'bule', {path:'/aaa’ (地址),maxAge:(过期时间),signed:签名})

              3、req.secret:cookie 签名(防止篡改)

              4、signedCookies:签过名的cookie、

          (03)、删除cookie =>  res.clearCookie(名字);          

    const express = require('express');
    const cookieParser = require('cookie-parser');
    
    var server = express();
    server.listen(8081);
    server.use(cookieParser());
    server.use('/aaa/a.html', function(req, res){
        req.secret='fasgasdasdafa';
        //path设置需要和use的地址相同才可以。signed: 是否需要签名
        res.cookie("name", "bule", {path: '/aaa', maxAge: 30*24*3600*1000, signed: true});
        console.log(req.cookies);//未签名cookie
        console.log(req.signedCookies);//签名cookie
        res.send('ok');
    });          

    2、session:保存数据,数据保存在服务端;*注意    安全  、无限、存在服务器、不能独立存在,基于cookie

        (01)、session基于cookie实现的;

     1 const express = require('express');
     2 const cookieParser = require('cookie-parser');
     3 const cookieSession = require('cookie-session');
     4 
     5 var server = express();
     6 server.listen(8082);
     7 
     8 var arr=[];//session 秘钥,加强session破解难度
     9 for (var i=0; i < 100000; i++){
    10     arr.push('src_'+Math.random());
    11 }
    12 
    13 server.use(cookieParser()); //session需要依赖于cookie-parser,所以需要先引入cookie-parser
    14 server.use(cookieSession({
    15     keys: arr, //session 秘钥,数量越多破解难度越大
    16     maxAge: 2*3600*100 //session 过期时间
    17 }));
    18 server.use('/', function(req, res){
    19     //req.session[可以任意放置内容],例:查看登录次数
    20     if (req.session['count'] == null){
    21         req.session['count'] = 1;
    22     }else{
    23         req.session['count']++;
    24     }
    25     console.log(req.session['count']);
    26     res.send('ok');
    27 });

        (02)、session劫持

        (03)、delete res.session  删除session

  • 相关阅读:
    优化IIS7.5支持10万个同时请求的配置方法
    .net core2.0获取host的方法
    mvc项目远程发布到windows server服务器
    使用Visual Studio给SQL生成测试数据
    C# partial 关健字说明
    TortoiseGit保存用户名密码的方法
    Jquery插件开发
    Spring众多jar包的特点,及Spring jar包官网下载方法
    ubutu16.04修改分辨率
    +号变为空格之编码解码
  • 原文地址:https://www.cnblogs.com/patriot/p/8005698.html
Copyright © 2011-2022 走看看