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

时间: 2024-10-04 21:32:47

php中session和cookie的使用及区别的相关文章

SESSION和cookie的使用和区别

PHP中SESSION和cookie的使用和区别 cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制. PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似. 1.1 设置cookie: 可以用 setcookie() 或 setrawcookie() 函数来设置 cookie.也可以通过向客户端直接发送http头来设置. 1.1.1 使用setcookie()函数设置

PHP中SESSION与COOKIE的详细用法

1. PHP的COOKIEcookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制.PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似.1.1 设置cookie:可以用 setcookie() 或 setrawcookie() 函数来设置 cookie.也可以通过向客户端直接发送http头来设置.1.1.1 使用setcookie()函数设置cookie:bool setc

PHP中Session和Cookie的探究

一.Session (1)Session的由来以及介绍 Session:在计算机中,尤其是在网络应用中,称为"会话控制",生存时间为用户在浏览某个网站时,从进入网站到关闭这个网站所经过的这段时间,也就是用户浏览这个网站所花费的时间. 由于Http是一种无状态的的协议,只负责请求服务器,当它在服务器相应之后,就与浏览器失去了联系.不能保存用户的个人信息,就像一个商场和一个自动售货机或者普通的人之间的关系,所以为了弥补这个缺点Session才应声而出,Session需要在4.1版本以上 (

yii2.0框架中session与cookie的用法

我们在开发项目中南面使用到session给和cookie,那么在yii中有他自己的规则 如下案例: session使用     function actionS1(){         echo $this->id." ";         echo $this->action->id." ";         设置session,通过session组件来设置         Yii::app()->session['username'] =

JAVA中SESSION和COOKIE的解释

为什么需要cookie: 因为HTTP是无状态的协议,所以我们在使用浏览器访问网站的时候,服务器是怎样来区别是哪个浏览器发送的请求呢,服务器是如何给不同的浏览器发送不同的信息,这就需要我们的cookie来解决问题了. cookie机制是采用了一种在客户端保存状态的方案,他是用户端的存储机制,当然他也需要用户端主动去开启cookie支持. session机制是采用一种在客户端和服务器之间保持状态的方案,这是怎样的一种感念呢?如果我们在服务器端保存一个用户访问的标识,那么这种单一的保持我们还是无法辨

Session和Cookie的分析与区别

首先说一下Web.config文件中的cookieless="false"的理解 cookieless="false"表示: 如果用户浏览器支持cookie时启用会话状态(默认为False) cookieless="true"表示,如果用户浏览器不支持cookie时启用会话状态(默认为False) ----这种情况下sessionID无法存储在客户端cookie中(因为浏览器不支持cookie),但是又要启用会话状态,怎么办,那就是会自动把ses

session 、cookie、token的区别及联系

session session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session.服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁.这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失. cookie cookie是保存在本地终端的数据.cookie由服务器生成,发送给浏览器,浏览器把cookie以

Session和Cookie的用法及区别

Session.Cookie概念 1.1概念理解 1.1.1 无状态的HTTP协议 协议:是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则. 超文本传输协议(HTTP):是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器. HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接.这就意味着服务器无法从连接上跟踪会话. 1.1.2 会话(Session)跟踪 会话:指用户登录网站后的一系列

php中session和cookie

cookie 每次请求页面的时候进行验证,如果用户信息存储在数据库中,每次都要执行一次数据库查询,给数据库造成多余的负担.cookie可以被修改的,所以安全系数太低.session是存储在服务器端面的会话,相对安全,并且不像Cookie那样有存储长度限制.由于Session是以文本文件形式存储在服务器端的,所以不怕客户端修改Session内容.实际上在服务器端的Session文件,PHP自动修改session文件的权限,只保留了系统读和写权限,而且不能通过ftp修改,所以安全得多.对于 Cook