在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用  Cookie与 Session 来跟踪和判断。

Session信息是存放在server 端,但 session id是存放在 client cookie 的,当然  php的session 存放方法是多样化的,这样就算禁用  cookie一样可以跟踪Cookie是完全保持在客户端的如:  IE firefox 当客户端禁止cookie时将不能再使用

2、Cookie 的配置与应用

Setcookie(string name , string value, int expire,string path, string domain, int secure);

其中 name是 cookie 变量名称标识,你在 php中将能象使用普通变量名相同来用他引用  cookie变量。value 是cookie 变量的初始值,  expire 表示该cookie 变量的有效时间; path 为该 cookie 变量的相关路径; domain 表示 cookie 变量的网站; secure 则需在 https  的安全传输时才有效。

、Cookie 的配置与应用

接收和处理  Cookie

PHP对 Cookie  的接收和处理的支持非常好,是完全自动的,跟  FORM 变量的原则一样,特别简单。

比如设置一个名为  MyCookier 的Cookie  ,PHP 会自动从  WEB服务器接收的 HTTP 头里把它分析出来,并形成一个与普通变量一样的变量,名为  $ myCookie,这个变量的值就是 Cookie 的值。数组同样适用。另外一个办法是引用  PHP 的全局变量$HTTP_COOKIE_VARS 数组。

分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)

echo $MyCookie;

echo $CookieArray[0];

echo $_COOKIE["MyCookie"];

echo $HTTP_COOKIE_VARS["MyCookie"];

删除  Cookie

要删除一个已经存在的  Cookie ,有两个办法:

1 、 SetCookie("Cookie", "");

2 、 SetCookie("Cookie", "value" , time()-1 / time() );

使用  Cookie的限制

1 、必须在 HTML 文件的内容输出之前设置;

2 、不同的浏览器对 Cookie的处理不一致,且有时会出现错误的结果。

3 、限制是在客户端的。一个浏览器能创建的  Cookie 数量最多为30 个,并且每个不能超过  4KB ,每个WEB  站点能设置的  Cookie总数不能超过 20 个。

、Session 的配置与应用

session_start ();                    //  初始化 session. 需在文件头部

$_SESSION [name ]=value;  //  配置Seeeion

echo $_SESSION[ name ];    // 使用 session

isset( $_SESSION[ name ]);   //  判断

unset( $_SESSION[ name ]);   // 删除

session_destroy () ;         // 消耗所有 session

注意:  session_register() , session_unregister , session_is_registered 在 php5 下不再使用

PHP中Cookie与 Session的更多相关文章

  1. flask中cookie和session介绍

    flask中cookie和session介绍 一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.co ...

  2. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  3. thinkphp中cookie和session中操作数组的方法

    thinkphp中cookie和session中操作数组的方法 一.ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况 在ThinkPHP的模板中操作sessio ...

  4. flask中cookie和session设置

    flask中cookie和session介绍   一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户. ...

  5. PHP中Cookie与Session的异同以及使用

    Cookie与Session的异同: 一.cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Mana ...

  6. 关于缓存中Cookie,Session,Cache的使用

    文章来源:http://canann.iteye.com/blog/1941173 以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application. 其中C ...

  7. Http中Cookie和Session介绍

    先介绍下B/S系统的工作的完整过程.首先客户端的浏览器发出请求,服务端的webserver接受到请求后,调用相关请求的页面进行处理,处理完后将结果发送给客户端的浏览器进行显示.只能是浏览器向webse ...

  8. web存储中cookie、session区别

    http协议是一种无状态的协议,浏览器对服务器的每一次请求都是独立的.为了使得web能够产生一些动态信息,就需要保存”状态”,而cookie和session机制就是为了解决http协议无状态而产生.c ...

  9. Django中cookie和session

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  10. nodejs中cookie、session的使用

    因为http会话的无状态性,为了标记用户的登录状态,便出现了cookie.cookie分为很多种,有普通cookie.签名cookie.json cookie等,这里主要记录下在express应用中如 ...

随机推荐

  1. MySQL线程状态详解

    前言: 我们常用 show processlist 或 show full processlist 查看数据库连接状态,其中比较关注的是 State 列,此列表示该连接此刻所在的状态.那么你真的了解不 ...

  2. 【转】Guava cache使用总结

    缓存分为本地缓存和远端缓存.常见的远端缓存有Redis,MongoDB:本地缓存一般使用map的方式保存在本地内存中.一般我们在业务中操作缓存,都会操作缓存和数据源两部分.如:put数据时,先插入DB ...

  3. 介绍一个二次排序的小技巧(best coder27期1001jump jump jump)

    先来描述一下问题: 问题描述 有n小孩在比赛跳远,看谁跳的最远.每个小孩可以跳3次,这个小孩的成绩就是三次距离里面的最大值.例如,一个小孩跳3次的距离分别时10, 30和20,那么这个小孩的成绩就是3 ...

  4. Problem G: STL——整理唱片(list的使用)

    #include<iostream> #include<list> #include<iterator> #include<algorithm> usi ...

  5. 九.Protobuf3特殊类型

    Protobuf3 Any类型 Any消息类型允许您将消息作为嵌入类型,而不需要它们 .proto定义.Any包含任意序列化的消息(字节),以及一个URL,该URL充当该消息的全局唯一标识符并解析为该 ...

  6. UVa 1671 语言的历史——判断两个DFA是否等价

    题意 一个DFA可以用一个5元组  $((Q, \sum , \delta , q_0, F))$ 表示,其中 $Q$ 为状态集,$\sum$ 为字母表,$\delta$ 为转移函数,$q_0$ 为起 ...

  7. 2019-2020-1 20199302《Linux内核原理与分析》第六周作业

    一 .万能函数 1.过程抽象 (1)接口:指明模块要做什么,标识符/类型.函数等,.h ,函数调用者 (2)实现:指明模块如何完成接口,一个接口多个实现(可能),.c ,函数实现者 (3)函数签名:函 ...

  8. dp--01背包,完全背包,多重背包

    背包问题 以下代码 n是物品个数,m是背包容积 物品价值和重量int v[maxn],w[maxn]; 01背包 模板 for(int i = 0; i < n; i++) { for(int ...

  9. NISP二级笔记(一) 信息安全管理

    ISO27001 信息安全管理体系要求 ISO27002 信息安全控制措施(实用规则) ISO27003 信息安全管理体系实施指南 ISO27004 信息安全管理测量 ISO27005 信息安全风险管 ...

  10. Linux 使用shell脚本实现自动SSH互信功能

    说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现?#!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorized ...