cookie和session的比较

Posted shayanboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie和session的比较相关的知识,希望对你有一定的参考价值。

1、cookie是存放在用户的浏览器中,是服务端通过返回包中的set-cookie来设置,cookie表示用户的浏览去和服务器之间的会话状态,登陆成功之后方可获取cookie数据,该数据一般具有时效性,是小之后需要用户重新去登陆。有了cookie之后,用户的每次请求都会带上cookie,服务端会验证cookie的合法性和时效性,cookie的发送需要遵循浏览器的同源策略。只要cookie发生改变,服务器就会要求重新登陆

cookie管理

 

首先需要服务器給用户分发cookie数据,setcookie(name,value,表示式,路径,域范围),后三者可以不写,其中表达式主要是用来设置cookie时效性。

!!!注意:setcookie需要写在html代码前

 

 

 

服务器获取cookie:$_COOKIE[“cookie的名字”] 注意:需要使用当前打开的浏览器去访问,不能换用其他浏览器

 

删除cookie:setcookie(“loginInfo”,””,time()-3600),通过服务器去删除

 

2、Session是存放在服务端,表示用户和服务器时间的会话状态,sessioncookie是一一对应的,服务器也需要级住哪个用户登陆该站点,一般情况下,session以文件的形式存放在网站根目录的/tmp目录中

 技术图片

 

 

 

/tmp中删干净

 技术图片

 

 

访问http://localhost/DVWA-master/

 技术图片

 

 

再查看/tmp

 技术图片

 

 

出现了session文件,用notepad++打开

 技术图片

 

 

登陆信息存放在其中

 

Session的管理:

工作机制:为用户创建唯一的uid,在该uid的基础上存储变量,uid放在cookie或者通过URL去传输(相比较而言后者不安全)

在HTML代码之前通过session_start()开启,开启之后可以通过session[]数组(一个超级全局变量)存储某些变量。

销毁session的方式(和session_start()一起使用):unset()  session_destory()后者慎用,会清除所有session数据。

以上是关于cookie和session的比较的主要内容,如果未能解决你的问题,请参考以下文章

cookie和session的比较

session和cookie的区别

cookie&session的比较

Cookie和Session的区别

Cookie和Session

session和cookie的区别