博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node17
阅读量:7260 次
发布时间:2019-06-29

本文共 1331 字,大约阅读时间需要 4 分钟。

一、复习cookie是在res中设置,req中读取的。第一次的访问没有cookie。cookie的存储大小有限,kv对。对用户可见,用户可以禁用、清除Cookie、可以被篡改。cookie用来制作记录用户的一些信息,必须购买历史、猜你喜欢。HTTP是无状态的协议,所以两次的访问,服务器不能认识到是同一个客户端的访问,就要用cookie来巧妙的解决这个问题。Session就是利用cookie,实现的“会话”。就是第一次访问的时候,可以在服务器上为这个用户缓存一些信息,别的用户是不能看见这个用户的信息的。服务器会下发一个秘钥(sessionid),客户端每次访问都携带这个秘钥,那么服务器如果发现这个秘钥吻合,就能够显示这个用户曾经保存的信息。登陆就是用Session来制作的。任何语言的session都是透明的,不会体现cookie机理。1var session = reqiure("express-session");23app.use(session({4    ..一些配置5    ..一些配置6    ..一些配置7}));89app.get("/",function(req,res){
//cookie都是通过req设置读取的,其实不对的,应该是res来读取和设置cookie,10 console.log(req.sission.login);11});1213app.get("/login",function(req,res){14 req.session.login = "1";15});都是使用req对象。二、加密永远不要用明码写密码。CSDN今年泄露用户密码了,并且泄露的明码。黑客拿到的用户的密码的加密信息,所以也没用。因为他无法翻译成为明码。MD5加密是函数型加密。就是每次加密的结果一定相同,没有随机位。特点:● 不管加密的文字,多长多短,永远都是32位英语字母、数字混合。● 哪怕只改一个字,密文都会大变。● MD5没有反函数破解的可能,网上的破解工具,都是通过字典的模式,通过大量列出明-密对应的字典,找到明码。两次加密网上也有对应的字典。所以我们不要直接用一层md5,这样对黑客来说和明码是一样。MD5常用于作为版本校验。可以比对两个软件、文件是否完全一致。node中自带了一个模块,叫做crypto模块,负责加密。首先创建hash,然后update和digest:var crypto = require("crypto");console.log(md5(md5("123456").substr(11,7) + md5("123456"))); //2层加密function md5(mingma){ var md5 = crypto.createHash('md5'); var password = md5.update(mingma).digest('base64'); return password;}

 

本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/7046827.html,如需转载请自行联系原作者

你可能感兴趣的文章
WGS 1984 Web Mercator 对于在线地图服务的意义
查看>>
Word2vec 讨论
查看>>
HBase编程 API入门系列之put(客户端而言)(1)
查看>>
percona-toolkit之pt-kill:杀掉mysql查询或连接
查看>>
JavaScriptSerializer 对json数据转换
查看>>
重裝系統,磁盤消失解決方法
查看>>
11.13. Highslide
查看>>
Visual Studio 11 Beta 带来新的Metro 应用开发体验
查看>>
最佳实践: 勿在 Servlet 中实现 SingleThreadModel
查看>>
IIS发生意外错误0x8ffe2740
查看>>
架构设计中服务层的简单理解
查看>>
一般的相关分析代码
查看>>
单片机系列学习
查看>>
[LeetCode] Combinations
查看>>
java中的几种对象(PO,VO,DAO,BO,POJO)
查看>>
HDOJ--4786--Fibonacci Tree【生成树】
查看>>
功能超级丰富的彩色贪吃蛇,有道具,有等级!
查看>>
angularjs之browserTrigger
查看>>
.net程序员面试考试题目
查看>>
1.3. redis-cli - Command-line client to redis-server
查看>>