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