详细谈Cookie

什么是 Cookie?

cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。

通过 PHP,您能够创建并取回 cookie 的值。

Cookie 是放在的客户端的数据

cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。若不设置过期时间,则表示这

个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。这种生命期为浏览器会话期的cookie被称为会话cookie。

会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie

保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏

览器进程间共享,比如两个IE窗口。而对于保存在内存里的cookie,不同的浏览器有不同的处理方式

如何创建 cookie?

setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 <html> 标签之前。

语法

setcookie(name, value, expire, path, domain);

例子

在下面的例子中,我们将创建名为 "user" 的 cookie,把为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期:

<?php
setcookie("user", "Alex Porter", time()+3600);//一个小时后数据过期
?>

<html>
<body>

</body>
</html>

注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() 取而代之)。

如何取回 Cookie 的值?

PHP 的 $_COOKIE 变量用于取回 cookie 的值。

在下面的例子中,我们取回了名为 "user" 的 cookie 的值,并把它显示在了页面上:

<?php
// Print a cookie
echo $_COOKIE["user"];

// A way to view all cookies
print_r($_COOKIE);
?>

在下面的例子中,我们使用 isset() 函数来确认是否已设置了 cookie:

<?php
setcookie("user", "Alex Porter", time()+3600);
?>

<html>
<body>

</body>
</html>

如何删除 cookie?

当删除 cookie 时,您应当使过期日期变更为过去的时间点。

删除的例子:

<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>

如果浏览器不支持 cookie 该怎么办?

如果您的应用程序涉及不支持 cookie 的浏览器,您就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。一种方式是从表单传递数据(有关表单和用户输入的内容,稍早前我们已经在本教程中介绍过了)。

下面的表单在用户单击提交按钮时向 "welcome.php" 提交了用户输入:

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

</body>
</html>

取回 "welcome.php" 中的值,就像这样:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.

</body>
</html>
时间: 2024-10-13 02:36:11

详细谈Cookie的相关文章

浅谈 Cookie 与 Session 的区别

1.cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Management Mechanism 是通用cookie规范.网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求附上这些cookies . 具体来说cookie机制采用的是在客户端保持会话状态的方案.它是在用户端的会话状态的存贮机制,他需要用户

浅谈cookie测试

Cookie 提供了一种在Web 应用程序中存储用户特定信息的方法,例如存储用户的上次 访问时间等信息.假如不进行cookie存储一个网站的用户行为,那么可能会造成以下问题:用户进行购买几件商品转到结算页面时,系统怎样知道用户之前订了哪几件商品.因为,cookie其中一个作用就是记录用户操作系统的日志,而系统对cookie不单单是存储,还有读取,也就是说系统和用户之前是一个交互的过程,这称为有状态. 但是Cookie 在带来这些编程的方便性的同时,也带来了安全上的问题.Cookie 的安全性问题

最详细的cookie和浏览隐私之间的关系

本文所说的"cookie",指的是浏览器相关的 cookie(也叫"HTTP cookie"). 浏览器 cookie 的主要功能是:帮助网站保存一些小片段的信息.比如,你曾经在自己的浏览器上登录过某个论坛,下次你再打开论坛的登录页面,你会发现用户名已经帮你填好 了,你只需要输入口令即可.那么,这个登录页面是如何知道你上次登录用的账户名捏?奥妙就在于:该网站在你的浏览器端保存了一个 cookie,里面包含了你上次登录使用的帐号名称. Cookie 的技术实现 本章节

浅谈Cookie

Cookie是一小段文本信息,伴随着用户请求和页面在web服务器和浏览器之间进行传递.用户每次访问站点时,web应用程序都可以读取Cookie里包含的信息.假设在用户请求访问 您的网站上的某个页面时,您的应用程序发送给该用户的不仅仅是一个页面,还有一个包含日期和时间的 Cookie.用户的浏览器在获得页面的同时还得到了这个 Cookie. 谷歌浏览器不支持本地cookie缓存,只支持服务器cookie缓存.火狐ie浏览器既支持本地cookie缓存,也支持服务器cookie缓存. cookie在性

浅谈cookie,sessionStorage和localStorage区别

在客户端存储数据可以使用的技术有如下四种: Cookie技术:浏览器兼容性好,但操作比较复杂,需要程序员自己封装,源生的Cookie接口不友好 H5 WebStorage:不能超过8MB,操作简单: IndexedDB:可存大量数据,还不是标准技术: Flash存储:依赖于Flash播放器,Adobe已宣布将放弃Flash,可以不再考虑此技术. 这里主要讨论cookie和WebStorage: 共同之处:Cookie和WebStorage都是用来跟踪浏览器用户身份的会话方式. 名词解释:Sess

(进阶篇)浅谈COOKIE和SESSION关系和区别

COOKIE介绍 cookie 常用于识别用户.cookie 是服务器留在用户计算机中的小文件.每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie.通过 PHP,您能够创建并取回 cookie 的值. 1.设置Cookie PHP用SetCookie函数来设置Cookie. SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下: int SetCookie(string name, string value, int exp

菜鸟详细解析Cookie注入原理

一.SQL注入原理 我以aspx为例,现在我们来研究下Cookie注入是怎么产生的,在获取URL参数的时候,如果在代码中写成Request["id"],这样的写法问题就出现了.我先普及下科普知识,在aspx中Request.QueryString["id"]用于接收get提交的数据,Request.Form["id"]用于接收post提交的数据.如果不指定使用QueryString还是Form接收数据,WEB服务是怎样读取数据的呢,他是先取GET

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter    :BYSocket 上一篇 图解Http协议 ,这次继续Http家族中的Cookie.泥瓦匠最近看到博客园中一篇好文,如图: 这就是因为浏览器Cookie太大,导致请求时,请求头域过大造成发送失败.下面咱们就了解了解Cookie.按着以前的思路图文并茂哈,没图说个XX. 一.概述 首先从HTTP

Web攻防系列教程之 Cookie注入攻防实战

摘要:随着网络安全技术的发展,SQL注入作为一种很流行的攻击方式被越来越多的人所知晓.很多网站也都对SQL注入做了防护,许多网站管理员的做法就是添加一个防注入程序.这时我们用常规的手段去探测网站的SQL注入漏洞时会被防注入程序阻挡,遇到这种情况我们该怎么办?难道就没有办法了吗?答案是否定的. 随着网络安全技术的发展,SQL注入作为一种很流行的攻击方式被越来越多的人所知晓.很多网站也都对SQL注入做了防护,许多网站管理员的做法就是添加一个防注入程序.这时我们用常规的手段去探测网站的SQL注入漏洞时