cookie 是否在不同的浏览器中持久存在?
为了详细说明这个问题,假设我们有一个在用户机器上查找特定 cookie 的网站。如果没有找到,它将创建一个。假设用户退出 Chrome 并在 Firefox 上访问同一个网站,该网站会在用户的机器上找到相同的 cookie 吗?还是会为 Firefox 创建一个新的?
不会。Cookie 存储在特定于浏览器的文件中。
cookie 是从服务器(Web 服务器)发送回客户端(浏览器)的一段数据。两者之间有一个合同,描述了客户端何时应在后续请求中将 cookie 返回给服务器。除其他外,这允许服务器再次识别客户端。
因为每个浏览器都是一个独特的客户端,所以它们不知道其他浏览器上设置的任何 cookie。
请参阅此 SO 问题,该问题解释了如何使用 flash 解决此问题:
不,如果它们是非持久性 cookie,它们会在关闭浏览器时被删除,如果它们是持久性的,它们会保存在硬盘驱动器上,但仅由单个浏览器使用。
但是,您可以通过将数据保存到 mysql 表并将用户的 IP 地址链接到您将保存在 cookie 中的特定数据来解决此问题:
$ip = $_SERVER[ 'REMOTE_ADDR' ];