zoukankan      html  css  js  c++  java
  • session及其应用

    session是服务器端存储数据的方式。避免了存在客户端被用户修改数据的情况。它以cookie为基础。

    1. session用法

    session的使用需要以下条件:

    1. 需要存储用户和对应信息的映射(可以存储在内存中或者数据库中redis/mongo)

    2. 需要一个sessionId来表示当前服务器的信息

    let http = require('http');
    let querystring = require('querystring');
    let uuid = require('uuid'); //第三方库
    
    // 本服务器的信息
    let sessionId = 'lyraInfo';
    // 将用户-信息的映射关系存储在内存中
    const session = {};
    http.createServer(function(req, res) {
      if(req.url === '/toWash') {
        let cookies = querystring.parse(req.headers.cookie);
        let username = cookies[sessionId];
        if(username && session[username]) {// 已经访问过
          session[username].money -= 10;
          // 防止汉字乱码
          res.setHeader('Content-Type', 'text/html;charset=utf-8');
          res.end(`您当前剩余额度是${session[username].money}`);
        } else {// 第一次访问;将唯一标志符通过从cookie返回客户端
          let cardId = uuid.v4();
          res.setHeader('Set-Cookie', `${sessionId}=${cardId}; httpOnly=true`);
          session[cardId] = {
            money: 100 //首次设置该cardId对应的money为100
          } 
          res.setHeader('Content-Type', 'text/html;charset=utf-8');
          res.end(`您当前剩余额度是${session[cardId].money}`);
        }
      }
    }).listen(3000);

    2. session应用

    用户登录session/jwt

  • 相关阅读:
    排序算法——选择排序
    poj1906
    poj1496
    poj1244
    poj1183
    poj1806
    !!!舒尔茨自律神经训练法
    Google Analytics的能与不能
    乔布斯最伟大的贡献是什么
    冥想呼吸
  • 原文地址:https://www.cnblogs.com/lyraLee/p/12207292.html
Copyright © 2011-2022 走看看