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来存放他放到购物车里的东西.

原文地址:https://www.cnblogs.com/ganwenjun/p/6914887.html