zoukankan      html  css  js  c++  java
  • 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数据。

  • 相关阅读:
    编译错误总结。
    9.7
    9.5
    9.6
    9.4
    9.3
    FutureTask取结果超时代码小测试
    java concurrent包常用类小结
    java Nio零散知识点整理
    java进阶教程unit_2java常用类(2)
  • 原文地址:https://www.cnblogs.com/shayanboy/p/11645000.html
Copyright © 2011-2022 走看看