上一節簡單介紹怎么使用express框架。那么這小節,我們學習新的東西,cookie的一些常用操作。
cookie可以臨時存儲的特點,由服務端提供給前端的一個簡單的數據。
- cookie 小只有4kb,不安全。但是也有它好的一面,它可以兼容所有的瀏覽器,可以記錄在瀏覽器里。
- cookie常見的場景,就是網站的“下一次自動登錄”、“上次觀看的位置等”
express中使用:
res.cookie(key,value,{path:'/mylouteraddress',maxAge:毫秒})
注:path代表地址,瀏覽器里的地址。
我們在express框架里可以使用一個 cookie-parser 中間件來處理。
cookie-parser
var express = require('express');
var static = require('express-static');
var cookieParser = require('cookie-parser');
var server = express();
server.listen(2573);
//server.use(cookieParser('asdfghjklpoieuwy3719edheu'));// 使用中間件
server.use('',function(req,res,next){
//res.cookie('test','Anny');
var json = req.cookies;
//for(var i in json){
// res.clearCookie(i);// 清空
//}
req.secret = 'asdfghjklpoieuwy3719edheu';// 加密
res.cookie('test','Anny',{signed:true}); // signed:true 加密
res.send('ok');
//res.cookie('test','Anny',{maxAge:365*24*3600*1000});
//res.cookie('password','123456',{maxAge:365*24*3600*1000});
//res.send('ok');
//next();
});
signed:true 時,在瀏覽器查看cookie時密碼是亂碼,達到了我們的要求。
由于是可逆的,我們也可以還原:
server.use(cookieParser('asdfghjklpoieuwy3719edheu'));// 使用中間件
總結:
cookie雖然存儲方便,但是也要注意數據的安全性,對于比較敏感的數據,我們通常建議保存在服務端,給cookie加密,給cookie添加時間限制,例如超過多久就失效或自動刪除key等.
下一小節我將分享下 jade 模板。