cookie和session
Posted katu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie和session相关的知识,希望对你有一定的参考价值。
1、必须在任何输出语句之前调用setcookie();
2、可以为每个用户设置多个cookie,每个高达3-4k字节;
3、缺省情况下,当浏览器关闭时cookie过期(对"session cookie").
若需要设置持久性的cookie,请在cookie过期时传递第三个参数;
通常与当前时间戳相对应,设置一个代表秒数的整数;
如果没有过期参数传递,则cookie是会话cookie;在浏览器关闭时过期
date("Y:m:d ",strtotime());
通过设置setcookie的第二个参数为false来完成删除,也可以通过设置一个过期时间来完成删除
setcookie("count",42,time()-1);
在JS中,设置和删除cookies的语法模板
//设置cookie(带或者不带截止日期)
document.cookie = "name=value";
document.cookie = "name=value;expires=date";
//删除cookie
document.cookie = "name=value;expires=Thu, 01-Jan-1970 00:00:01 GMT";
设置三个javascript cookies
//设置三个JavaScript cookies
document.cookie = "firstname=Barney";
document.cookie = "lastname=Rubble";
document.cookie = "city=Bedrock";
alert(document.cookie);
JavaScript的Cookie库
函数 描述
Cookie.clear() 删除当前页面所有的cookie
Cookie.exists(‘name‘) 如果当前页面有特定的cookie,则返回true
Cookie.get("name") 返回给定的cookie值,若没有则返回null
Cookie.remember(element) 记住给定表单控件DOM元素的状态,可以通过一个可选
Cookie.remember(element) cookie名称来记住该信息,或者将自动创建一个cookie的名称
Cookie.remove("name") 从当前页面删除给定的cookie
Cookie.set("name","value") 将给定的cookie设置给定的值;可以传递一个可选的
Cookie.set("name","value",expire) 整数天数,直到cookie到期(默认值=会话 cookie)
Cookie.toArray() 以联合数组的形式返回页面中所有的cookies
Cookie.toArrayNames() 以数组的形式返回页面中的所有cookies的名称
session:一种抽象概念,用于表示特定Web浏览器和服务器之间的一些列http请求和响应
http不支持session的概念,但是php、ASP.NET和多数Web语言都支持session
session vs cookie
cookie是存储在客户端的数据
session的数据存储在服务器上(每个客户端仅有1个session)
session通常建立在cookie之上:
客户端存储的唯一数据是持有唯一session ID的cookie
每个页面请求中,客户端发送其session ID cookie,服务器使用此来查找和检索客户端的会话数据
session和cookie的对比:
生存期 | 会话在用户注销或关闭浏览器之前可以一直存在;Cookie也可以生存那么长,或者知道给定固定的超时时间(持久性) |
数据存储位置 | session数据存储在服务器上(除了session ID cookie之外);cookie将数据存储在用户的浏览器中 |
安全性 | 会话很难被恶意用户篡改或删除,但COOKIE很容易 |
隐私 | session保护私人信息不被计算机的其他用户看到;但是cookie做不到 |
1、会话存储在服务器上时,cookie以文本文件格式存储在用户的计算机上。 2、虽然cookie不能容纳多个变量,但会话可以。 3、可以为cookie设置过期,因为只要浏览器处于打开状态,会话就会保持活动状态。由于数据在会话中存储在服务器中,因此不允许访问用户。 4、Cookie用于跟踪用户活动,而会话主要用于登录/注销。
除非销毁session并重新生成用户的session ID,否则之前的session将保留
1 session_destroy();
2 session_regenerate_id(TRUE);
3 session_start();
以上是关于cookie和session的主要内容,如果未能解决你的问题,请参考以下文章