PHP的SESSION和COOKIE的区别和联系

  区别:

  COOKIE存储在客户端,SESSION存储在服务器端。

  COOKIE因为存储在客户端,所以安全性较低,SESSION安全性较高。

  COOKIE有大小限制,为4K,仅能存储20个COOKIE,SESSION没有限制。

  COOKIE仅支持存储字符串,SESSION可以存储所有类型。

  联系:

  同样是会话技术。

  SESSION依赖于COOKIE,因为HTTP协议是无状态的,所以就算是服务器端保存状态的方案也要在客户端存储一个标识,这个标识存储于COOKIE中,可以通过$_COOKIE['PHPSESSID']查看。

  常规上,COOKIE禁用后SESSION不可用,不过可以通过get或post方式将PHPSESSID传递到服务器,这样也能使用SESSION。

  每次登录一个网站,下次在浏览时还需要登录的原因就是COOKIE因为没有设置过期时间,所以浏览器关闭后COOKIE就清除了,这样PHPSESSID也就清除了,就算服务器存储了相应的SESSION也找不到了。

  网站的记住我的功能有很大的隐患,因为COOKIE存储在客户端,可以很轻易的获取的COOKIE的内容。

你可能感兴趣的:(php)