cookie 和session

cookie数据存放在客户的浏览器上,session数据放在服务器上

cookie


如果浏览器使用的是 cookie,那么所有的数据都保存在浏览器端,
    比如你登录以后,服务器设置了 cookie用户名(username),那么,当你再次请求服务器的时候,浏览器会将username一块发送给服务器,这些变量有一定的特殊标记。
    服 务器会解释为 cookie变量。
    所以只要不关闭浏览器,那么 cookie变量便一直是有效的,所以能够保证长时间不掉线。

cookie 用法:
 


      setcookie("user","zy",time()+3600);  设置user为zy,一小时之后失效;
      $_COOKIE['user'];                   取回user值(名字)
      setcookie("user","",time()-3600);   删除cookie,第二个参数为空,第三个时间设置为小于系统的当前时间即可.

   Session 

是存放在服务器端的类似于HashTable结构(每一种web开发技术的实现可能不一样,下文直接称之为HashTable)来存放用户数据;

   作用:实现网页之间数据传递,是一个存储在服务器端的对象集合。

   原理:当用户请求一个Asp.net页面时,系统将自动创建一个Session;退出应用程序或关闭服务器时,该Session撤销。系统在创建Session时将为其分配一个长长的字符串标识,以实现对Session进行管理与跟踪。

session 用法:

用户信息保存到session前,先启动;
             session_start();                     启动session
             $_SESSION['user']="zy";      设置用户名
             unset($_SESSION['user']);    销毁用户名
             session_destory();                失去已经存储的session的数据

cookie 和session 的区别:

除了上文提到的储存位置不同外还有以下几点:

cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。(Session对象没有对存储的数据量的限制,其中可以保存更为复杂的数据类型)

如何检查登录的是哪个用户

登录后会把用户的信息,比如用户id或token等等存入到session和cookie中,其中session存在服务器,cookie存在浏览器中。在访问网页时,浏览器会自动带着此网页上的cookie去访问此网页,这是cookie会去服务器中寻找与之匹配的session,来确定登录的是谁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值