收集饼干

时间:2010-08-13 07:40:31

标签: php firefox cookies

我甚至不确定如何描述我正在尝试做的事情,因为我对饼干知之甚少,但是这里有。

是否可以使用PHP从浏览器缓存中收集cookie(或cookie文件),将其保存到数据库中,然后清除缓存并将其重新保存回原来的位置?

实施这个会涉及什么?从浏览器缓存中读取?我是否需要为其保存cookie的路径,或者是否可以通过直接与浏览器进行通信来自动获取? PHP可以处理吗?

3 个答案:

答案 0 :(得分:4)

在PHP中,您可以从$_COOKIE数组中读取用户系统(您有权阅读)的所有Cookie。

您可以使用setcookie()清除用户系统上的这些Cookie并将其设置为空白字符串,但您通常需要知道Cookie之前设置的确切主机名和路径,并提供相同的Cookie再次,能够正确删除它们。

然后,您可以稍后再次将Cookie设置为您之前从$ _COOKIE数组中获取的值。

当然,并非所有人都在同一页面视图中。

答案 1 :(得分:2)

获取Cookie数据:

<?php
echo 'Hello ' . htmlspecialchars($_COOKIE["name"]) . '!';
?>

假设之前设置了“name”cookie 上面的例子将输出类似于:

的内容
Hello Hannes!

您可以使用以下代码迭代数组中的所有Cookie:

foreach($_COOKIES as $name => $cookie){
   echo "Cookie: $name has a delicious center consisting of: ";
   print_r($cookie);
}

http://www.php.net/manual/en/reserved.variables.cookies.php

设置Cookie:

http://www.php.net/manual/en/function.setcookie.php

答案 2 :(得分:2)

PHP一般与客户端的计算机无关,特别是浏览器缓存 PHP只能获取cookie,浏览器通过它自由发送,并且之前由同一服务器设置。

当然,服务器可能会发送一个等于delete的空或过期cookie,或者带有另一个值的相同cookie