Maison  >  Article  >  php教程  >  php中cookie和session的用法比较

php中cookie和session的用法比较

WBOY
WBOYoriginal
2016-06-13 09:44:141574parcourir

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

  2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。

  3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能, 考虑到减轻服务器性能方面,应当使用COOKIE。

  4、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。

  例,COOKIE

  如:setCookie('user','zhangsan',time()+3600),代表 user变量值为张三的cookie存活时间为1小时,在此要注意此函数属于头函数,也就相当于php中的header()跳转函数,在它之前不能有“任何输出(包括空格)”。

  2、用$_COOKIE['user']来获取cookie值。www.111cn.net

  3、注销cookie :setCookie('user','',time()-3600); 或 setCookie('user');

  4、

  //删除客户端在cookie中的sessionid

  if(isset($_COOKIE[session_name()])){

  setCookie(session_name(),'',time()-30,'/');

  }

  例,session

  1、//开启session

  session_start();

  2、//清空session值

  $_SESSION = array();

  //彻底销毁session

  session_destroy();

  session和cookie谁更安全

  就个人而言,我觉得session更安全一点,我以下几点看法。

  1,如果session和cookie一样安全的话,二者就没有并要同时存在了,只要cookie就好了,让客户端来分提服务器的负担,并且对于用户来说又是透明的。何乐而不为呢。

  2,session的sessionID是放在cookie里,要想功破session的话,第一要功破cookie。功破cookie后,你要得到 sessionID,sessionID是要有人登录,或者启动session_start才会有,你不知道什么时候会有人登录。第二,sessionID是加密的,第二次session_start的时候,前一次的sessionID就没有用了,session过期时sessionid也会失效,想在短时间内功破加了密的 sessionID很难。session是针对某一次通信而言,会话结束session也就随着消失了,而真正的cookie存在于客户端硬盘上的一个文本文件,谁安全很显然了。

  3,如果session这么容易被功破,这么不安全的话,我想现有的绝大部分网站都不安全了。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn