Session相对于Cookie更安全,安全在哪里?
来源:2-10 HTTP相关_2
lizhi_duan
2019-03-22
Session的一种实现方式是基于cookie的,这样其实和使用cookie并没有本制的区别,服务端去鉴别查找session使用的同样是客户端请求头中的session id,session相对安全在哪里?同样是可以伪造的吧?
1回答
-
要搞清楚这个问题首先需要真正弄清楚cookie和session。
cookie分为二种
1,以文件方式存在硬盘空间上的长期性的cookie
2,停留在浏览器所占内存中的临时性的cookie
浏览网站时,你会经常发现网站登录的地方,会有提示,问你是不是要记住自己的登录状态,像这种情况,登录时填写的一些信息会被以文件的方式存放在客户端的硬盘上。
当用户登录后,session会在cookie端产生一个session_id,这个session_id是存于浏览器所占用的内存当中。当你关闭浏览器后,session_id也要消失了。同学提到的session机制就是借助于cookie机制来达到保存标识的目的,这样就可以解决HTTP协议无状态的缺陷。
session是一种服务器端的信息管理机制,它把这些文件信息以文件的形势存放在服务器的硬盘空间上,这种情况是默认的。当客户端向服务器发出请求时,要求服务器端产生一个session时,服务器端会先检查一下,客户端的cookie里面有没有session_id,是否已经过期。如果有这样的session_id的话,服务器端会根据cookie里的session_id把服务器的session检索出来。如果没有这样的session_id的话,服务器端会重新建立一个。
接下来来讲讲安全性,session的sessionID是放在cookie里,要想攻破session的话,第一要攻破cookie。攻破cookie后,想要得到 sessionID,而sessionID是要有人登录,或者启动session_start才会有,你不知道什么时候会有人登录。第二,sessionID是加密的,第二次session_start的时候,前一次的sessionID就没有用了,session过期时sessionid也会失效,想在短时间内功破加了密的 sessionID很难。session是针对某一次通信而言,会话结束session也就随着消失了,而真正的cookie存在于客户端硬盘上的一个文本文件。
352019-10-07
相似问题