PHP- session和cookie的使用及区别
Posted WeiAreYoung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP- session和cookie的使用及区别相关的知识,希望对你有一定的参考价值。
1.cookie的使用
什么是 Cookie?
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 php,您能够创建并取回 cookie 的值。
如何创建 cookie?
setcookie() 函数用于设置 cookie。setcookie(name, value, expire, path, domain); //setcookie("user", "Alex Porter", time()+3600);
注释:setcookie() 函数必须位于 <html> 标签之前。
如何取回 Cookie 的值?
$_COOKIE 变量用于取回 cookie 的值。
使用 isset() 函数来确认是否已设置了 cookie:
如何删除 cookie?
当删除 cookie 时,您应当使过期日期变更为过去的时间点。//setcookie("user", "", time()-3600);
2.session的使用
如何创建 session?
session_start() 函数启动会话。
存储 Session 变量
$_SESSION 变量赋值
isset() 函数检测是否已设置
终结 Session
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。
3.它们之间的区别
Session保留在服务器端,给每个客户分配一个唯一的数字,作为每个客户的标识,
Cookies是保留在客户端的,每次发出页面请求时,都会把里面的数据发送给服务器端.
Cookies适合做保存用户的个人设置,爱好等,Session适合做客户的身份验证.
session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。
session中保存的是对象,cookie中保存的是字符串。
session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。
session需要借助cookie才能正常工作。如果客户端完全禁止cookie,session将失效。
两个都可以用来存私密的东西,同样也都有有效期的说法。
session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过期与否可以在cookie生成的时候设置进去。
cookie 也可以设置成关闭浏览器既消失.
cookie数据存放在客户的浏览器上,session数据放在服务器上
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE
单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K。
一个web站点向客户端发送的cookie不得超过20个,
一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB
其次不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。比如:MS IE+SERVICE PACK 1
不能正确处理带域名和路径的Cookie ,Netscape Communicator 4.05和MS IE 3.0不能正确处理不带路径和
时间的Cookie。至于MS IE 5 好象不能处理带域名、路径和时间的Cookie。 一般做用户登陆用session
存放用户其他信息可以用cookie,比如一个网上商城没有会员系统的话,可以有cookie来存放他放到购物车里的东西.
以上是关于PHP- session和cookie的使用及区别的主要内容,如果未能解决你的问题,请参考以下文章