- 浏览: 163099 次
- 性别:
- 来自: 杭州
文章分类
最新评论
cookie解决了跟踪各个访问者或用户,服务器利用cookie这种机制将少量的信息随着响应发送到客户机。这些信息由名称和值组成,都是最为文本字符串发送的。当客户机对服务器发送的另一个请求时,它将从这个服务器收到的任何cookie随着新的请求一起发送回去。
1:基本操作------ 设置和访问cookie
1> 设置:
setcookie(cookie_name,cookie_value);
这个函数对提供给它的cookie值进行转移,以便可以安全地作为HTTP响应消息的一部分发送。只要浏览器开着cookie就会一直存在,但是只要浏览器关闭cookie就会被删除。 调用这个函数的一个问题是与header一样,在调用这个函数之前不能有任何输出。因为cookie是作为响应头的一部分发送的。
2>访问:
使用$_COOKIE超级全局变量来访问
php只用随一个页面请求发送的cookie填充$_COOKIE数组,因此,如果在任何调用setcookie('cookie_name','cookie_value')执行以下代码
setcookie('cookie_name','cookie_value');echo $_COOKIE['cookie_name'];就会收到一个警告,指出cookie_name键还没有设置。同样在代码中设置新的cookie值后,$_COOKIE还没有来得及进行更新新的值,只会用随着请求接收到的cookie值来填充$_COOKIE这个值。
2:cookie如何工作
服务器通过随着响应发送一个Set_Cookie头,在客户机中设置一个cookie。(多个cookie需要设置多个cookie头。)尽管在响应中多个cookie是用不同的Set_Cookie头发送的,但是在请求中它们在一个单一的Cookie头中一起发送回服务器,各个cookie名/值对由空格分隔。
Connection Keep-Alive Content-Length 0 Content-Type text/html Date Wed, 05 Dec 2012 14:15:35 GMT Keep-Alive timeout=5, max=100 Server Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 Set-Cookie mysite=1234 X-Powered-By PHP/5.3.8
Connection Keep-Alive Content-Length 0 Content-Type text/html Date Wed, 05 Dec 2012 14:21:25 GMT Keep-Alive timeout=5, max=100 Server Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 Set-Cookie user=jcyzone pwd=81dc9bdb52d04dc20036dbd8313ed055 X-Powered-By PHP/5.3.8
3:控制cookie的有效性
setcookie函数最多接收六个参数
bool setcookie ( string $name
[, string $value
[, int $expire
= 0 [, string $path
[, string $domain
[, bool $secure
= false [, bool $httponly
= false ]]]]]] 后四个。参数是用来控制和限制cookie的可用性。
1>expire参数可以控制cookie的有效期,eg:setcookie('one_hour','still good',time()+3600);在cookie过期之后,Web浏览器就不再将它随着请求一起发送回服务器。将这个参数设置为0,就表示这个应该被认为是一个会话cookie(session cookie)。它存储在内存中,而不是硬盘上,而且只有在用户正在进行浏览时它才是有效的。在用户关闭Web浏览器之后,cookie值就消失了。( 注意:现在大多数浏览器是多线程的,每一个新的浏览器窗口都是同一个主浏览器进程中的一个新的线程。这可以使Web浏览器快一点并且共享许多资源,比如内存。因此,即使关闭了一个会话cookie及相关联窗口,但是同一个浏览器进程的其他窗口很可能仍然在内存中保存这这个cookie,因此关闭所有浏览器窗口才能确保cookie确实消失了。)
2>path参数可以限制这cookie对那些页面是有效的。例如将路径设置为'/',那么这个cookie对于站点所有页面都是有效的;但是如果将它设置为'/admin',那么只对站点上URL以/admin开头的页面有效。如果没有指定,那么默认是这个cookie时所在的目录。
3>domain参数可以限制或扩展这个cookie对那些机器有效。在默认的情况下,它对发送它的服务器有效。但是如果许多服务器共同承担Web应用程序负载,这些机器的名称都是www.example.com的形式,那么可以将参数设置为‘.example.com’这意味着对这个域中的任何机器有效。
4>最后secure参数设置为1,那么表示cookie只在HTTPS连接上有效。默认值0表示在安全连接和不安全连接都有效,但是,这个参数不会改变cookie在用户计算机上作为明文存储的事实。
4:删除cookie
有时候,可能不再想要一个cookie,希望删除它。一个办法就是让他在客户机上过期,
setcookie('cookie_name','cookie_value',time()-3600);这样客户机意识到已经过期,让程序把它清理掉。
5:cookie数组
PHP有一种方便的机制,可以通过它将数组和cookie联系起来
example:
setcookie('UserInfo[name]',$_POST['name']);
setcookie('UserInfo[address]',$_POST['address']);
setcookie('UserInfo[birth_date]',$_POST['birth_date']);
在下一次访问cookie就可以访问如下
$name = $_COOKIE['UserInfo']['name'];
$address = $_COOKIE['UserInfo'][address];
$birth_date = $_COOKIE['UserInfo']['birth_date'];
6:cookie应用
知道把什么放在里面,尽管cookie是一种可以将信息与特定客户机关联在一起非常方便,但是它有许多缺点,它以不安全的明文格式在因特网上传输在客户机上存储,cookie包含的数据量有限制(常常只有4KB)。
一般规则是不要将太多的数据放在cookie中,而是将它作为标致来帮助我们管理用户。如果希望在用户界上存储确保它是无害的,不构成安全威胁。
1>个性化方式欢迎重返站点要求他登陆2>用户的个人设置
发表评论
-
实时编辑表格
2014-06-03 10:08 827实时编辑表格 -
手把手教你在Ubuntu上安装Apache、MySql和PHP
2013-07-11 15:25 01:首先安装apache:打开终端(ctrl+Alt+t), ... -
正则取a
2013-04-17 16:29 0<a[^>]*href=["'](?[^ ... -
操作字符串
2013-04-09 15:42 778strpos() - Find the position ... -
php oracle CLOB
2013-03-05 10:49 22271.php insert oracle 的CLOB字段 ... -
ckeditor配置
2013-04-09 15:42 1227// 界面语言,默认为 'en'config.langua ... -
格式化文件大小
2013-04-09 15:41 860function formatBytes($bytes) ... -
PHP显示Deprecated: Assigning the return value of new by reference is deprecated in
2013-04-09 15:41 934昨晚用Spreadsheet_Excel_Rea ... -
PHP的位运算
2013-01-09 10:34 873$a & $b and(按位与) $a | $b o ... -
cookie和会话(三)
2012-12-10 22:30 9061:如何传输会话ID 会 ... -
cookie和会话(二)
2012-12-07 23:34 1734会话 除了能够在客户机和服务器之间发送少量信息外,还 ... -
(转)匹配中文
2012-11-27 17:13 1030在javascript中,要判断 ... -
php+jquery+ajax+json简单小例子
2012-11-22 23:52 75093直接贴代码: <html> <titl ... -
PECR
2012-11-20 22:13 1007经常使用的分隔符是正斜线(/), hash符号(#) 以 ... -
几个经典函数
2012-11-20 00:19 9591:是否为邮件 function is_email($em ... -
html2fpdf HTML转换为PDF
2012-11-14 12:33 6521下载html2fpdf包: downurl:http://s ... -
检查浏览器版本类
2012-11-09 13:11 795class BrowserDetector { var $U ... -
匹配链接
2012-10-30 11:43 837有一段类似下面的代码,匹配所有的链接地址: $code = ... -
PHP获取类名及所有函数名
2012-08-24 11:48 11799PHP获取类名及所有函数名1.获取行号、文件路径文件名、类名、 ... -
获取<meta>中的content标签内容
2012-02-24 09:04 2066php函数:$tags = get_meta_tags ( ' ...
相关推荐
本实践将探讨如何在分布式环境中实现会话追踪,主要采用Cookie和Redis这两种技术手段。 首先,我们要理解会话(Session)的概念。在Web开发中,会话是一种在用户浏览器与服务器之间维持状态的技术,允许跨多个HTTP...
以下是对"Cookie会话的操作"这一主题的详细阐述。 Cookie是一种在客户端(用户的浏览器)存储小量数据的技术。它们由服务器发送到用户的浏览器,并由浏览器在后续的请求中回发给服务器。主要有以下几个知识点: 1....
cookie-session, 基于简单cookie的会话中间件 cookie会话 基于简单cookie的会话中间件。用户会话可以通过 Cookies 以两种主要方式存储: 在服务器上或者在客户端上。 这个模块在cookie中存储会话数据,而像 express...
### PHP 会话控制 cookie 基础教程 #### Cookie 概述与作用...正确的使用 Cookie 能够增强网站的功能性和安全性,而错误的使用则可能导致数据泄露和其他安全风险。因此,在开发过程中合理设置和使用 Cookie 非常关键。
在IT行业中,特别是JavaWeb开发领域,会话管理是一个至关重要的环节,因为它涉及到用户与服务器交互过程中的数据持久化和用户身份验证。本篇主要讨论如何使用Cookie进行会话管理。 首先,我们要理解会话的概念。一...
F5会话保持 F5会话保持是指在负载均衡器上的一种机制,可以识别客户与服务器之间交互过程的关连性,在作负载均衡的同时,还...F5会话保持机制是一种强大的负载均衡技术,可以帮助企业提供高可用性和高性能的在线服务。
这个名为"一个php类用于处理cookie会话"的压缩包文件提供了一个PHP类,帮助开发者更方便、高效地管理和操作Cookie和Session。下面将详细讲解关于Cookie和Session的基本概念,以及如何使用PHP类来处理它们。 首先,...
会话技术主要涉及两个概念:Cookie和Session。会话指的是用户开启浏览器,访问网站,并且在不关闭浏览器的前提下,访问多个链接和资源的过程。会话技术的使用主要是为了解决HTTP协议无状态性的限制,即每次HTTP请求...
针对基于源IP会话保持的IPVS在高速代理上网环境中存在的会话失效和负载不均衡问题, 研究了LVS系统的设计原理与实现方法, 并结合Web应用中cookie会话保持机制, 提出了基于cookie会话保持的改进方案。实验结果表明, ...
会话技术简单介绍,会话可以简单的理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。会话过程中要解决的一些问题?每个用户与服务器进行交互的过程中,...
express-socket.io-session, socket.io 共享基于cookie的会话中间件 express-socket.io-sessionsocket.io 共享基于cookie的会话中间件。 使用英镑表示的> 4.0.0 和英镑> 1.0.0,不支持向后兼容。帮助我注意错误或者...
`pycookiecheat`是一个方便的Python库,它允许我们从已经验证的浏览器会话中提取Cookie,然后在Python脚本中使用这些Cookie来模拟登录状态。 首先,让我们深入了解一下什么是Cookie。Cookie是服务器发送到用户...
本文档是《SANGFOR AD V5.2 Cookie会话保持配置及说明指导书》,主要针对深信服公司的AD产品,详细阐述了如何配置和理解Cookie会话保持功能。这份指南由深信服科技有限公司编写,旨在帮助用户有效管理和维护用户的...
本文将深入探讨Cookie和Session两种主要的会话管理方式,并结合一个名为"ShoppingCar"的示例来阐述它们在实际应用中的工作原理。 **一、Cookie** Cookie是由服务器发送到客户端(浏览器)的一小段信息,然后由...
本文将深入探讨如何使用session和cookie技术来实现会话跟踪。 首先,我们需要理解“会话”(Session)的概念。在Web应用中,会话是指用户打开浏览器与服务器进行交互的一系列连续操作。为了识别这些操作属于同一个...
为了解决这一问题,开发了两种主要的会话跟踪技术——Cookie和Session。 #### 二、Cookie机制 ##### 1. Cookie的概念 Cookie是一种简单的机制,用于在客户端存储信息以便后续的请求中使用。它最初是由Netscape...
- 遍历这些Cookie对象,使用`getName()`和`getValue()`方法来获取Cookie的名称和值。 - 示例代码: ```java String cookieName = "userID"; Cookie[] cookies = request.getCookies(); if (cookies != null) {...
cookie、session会话技术