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 是存放在服务端, 表示用户和服务器时间的会话状态, session 和 cookie 是一一对应的, 服务器也需要级住哪个用户登陆该站点, 一般情况下, 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 数据.
来源: http://www.bubuko.com/infodetail-3232982.html