-->

当有两个饼干与IE7相同的名字怎么办?(What to do when there are two

2019-06-28 06:54发布

一些背景资料:

CakePHP的写入它自己的会话cookie除了PHPSESSID。 这是用来验证的请求。 然后,一个SWFUpload的发送文件,以及令牌认证,而上升为一个新的用户代理 - 所以在CakePHP中必须禁用“检查用户代理”的安全功能。

在很多浏览器,这是不够的。 IE7版本和SWF版本似乎没有相关性研究到这个bug。 在我们的例子是IE7存储/发送相同的cookie的两个版本。 所以,第一个问题是为什么呢? 怎么样?

进一步的解释:

由于这些重复的cookie被存储在头字符串的开头和结尾,PHP /蛋糕接收一端,如果它是一个重复数据删除,因此“选择”一,手动饼干我设置和SWFObject的发是其他的cookie。 我能想到的几个黑客,以解决这一问题的 - 但我真的想知道这个情况可能在第一时间出现。

CakePHP的似乎也没有产生在注销和登录独特CakeSession的ID,这可能是原因,而解决方案可能是迫使蛋糕到处使用PHPSESSID,或者它可能只是确保SWFUpload的发送正确SESSID ...

编辑之一:CakePHP执行发送的cookie的标题有:

Set-Cookie: CAKEPHP=gqlpa88blmhmdsmv9e99ga16b3; expires=Thu, 13-Aug-2009 13:21:02 GMT; path=/
Set-Cookie: CAKEPHP=deleted; expires=Wed, 06-Aug-2008 13:21:01 GMT; path=/
Set-Cookie: CAKEPHP=ob5695trnspprlohiunrpqgkm0; expires=Thu, 13-Aug-2009 13:21:02 GMT; path=/

任何想法表示欢迎!

Answer 1:

两个cookie可以有相同的名字,如果他们为不同的域或路径设置。

举例来说,如果你设置的“www.example.com”饼干“ID”,并在“example.com”,则需要两个ID的cookie将被用于“www.example.com”或“什么每个请求发送。 www.example.com”。

为了防止这种情况,请确保您总是设置cookie相同域名,如果你碰巧有混淆为同一个服务器上有多个域名(如www.example.com和example.com),然后有一个重定向到其他。

同样,不要设置相同名称的饼干用不同的路径值。



Answer 2:

据我记得,如果你设置一个已经存在一个cookie,它只是覆盖旧的cookie的值和到期日期......这是每个域。 意味着你可以有2块饼干具有相同的名称下/下/任何东西,他们不互相覆盖。

它的网站中的cookie的名称是唯一的。 至少在标准。 不知道是否IE7遵循这一之一。

或者是不是你问什么?

问候



文章来源: What to do when there are two cookies with the same name in IE7?