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数据。

  • 相关阅读:
    SQLite打开提示database disk image is malformed
    windows查看端口占用
    新浪SAE使用Thinkphp框架,禁用memcache节省豆子的方法
    Realtek 8168 安装 VMware ESXi 提示没有驱动
    13年国庆彩蛋
    Flex使用宋体渲染越南语显示错误
    微信 编码要UTF8
    WeiXin 验证成为开发者和更换服务器验证代码
    测试网络连通情况
    废弃sqlite代码,备查
  • 原文地址:https://www.cnblogs.com/shayanboy/p/11645000.html
Copyright © 2011-2022 走看看