专业编程基础技术教程

网站首页 > 基础教程 正文

Nodejs系列课程(十)--如何使用cookies?

ccvgpt 2024-11-26 00:48:33 基础教程 1 ℃

“记录密码”或“自动登录”功能,这个一般用 cookies来完成

cookies存在客户端,安全性较低,一般要存入加密后的信息;建议要设置使用过期时间或不使用时删除掉

Nodejs系列课程(十)--如何使用cookies?

示例设计思路:在上面session示例的基础上,在usecookies部分登录同时记录cookies,来自动登录

1.在上面session示例的基础上修改一下usecookies.js

var express = require('express');var router = express.Router();router.get('/', function(req, res) {     if(req.cookies.islogin)  {        console.log('usecookies-cookies:' + req.cookies.islogin);       req.session.islogin = req.cookies.islogin;  }      if(req.session.islogin)  {      console.log('usecookies:' + req.session.islogin);    res.locals.islogin = req.session.islogin;        }  res.render('usecookies', { title: '使用cookies示例' });});router.post('/', function(req, res) {    req.session.islogin = 'success';  res.locals.islogin = req.session.islogin;  res.cookie('islogin', 'sucess', { maxAge: 60000 });  res.render('usecookies', { title: '使用cookies示例' });});module.exports = router;

2.运行访问 http://localhost:3000/usecookies,点击登录按钮登录成功并记录cookies

maxAge为过期时长,毫秒为单位,我设置一分钟

3.关闭浏览器,再次访问http://localhost:8000/usecookies ,页面显示已登录

4.再次关闭浏览器,过一分钟再访问http://localhost:8000/usecookies,页面不再是已登录,而是显示登录按钮,表示cookies过期,不会自动登录

cookies的使用到此也成功!

官方示例:https://github.com/visionmedia/express/blob/master/examples/cookies/app.js

如何清除session和cookies?

//清除cookiesres.clearCookie('islogin');  //清除sessionreq.session.destroy();

Tags:

最近发表
标签列表