【发布时间】:2011-09-14 04:57:42
【问题描述】:
最近对 IE 的更新(影响所有版本)重写了使用随机 8 位字母数字名称存储的 cookie,使大多数典型的 cookie 检测方法无用:
有没有人遇到过这种情况,如果有,你做了什么来克服这个问题?不幸的是,我们不能忽视我们的 IE 用户,尽管我希望这可能是一个解决方案:)
更新:我用 JQuery 对此进行了标记,因为它会影响 JQuery 的 cookie 插件,JQuery UI Tabs 等流行脚本使用该插件来“记住”选项卡位置。
【问题讨论】:
-
但是:IE 什么时候停止通过 HTTP 向服务器发送 cookie? IE。从什么时候开始不得不在纯 JS 中加载 cookie?我想,你可能会觉得丑陋,将服务器上的 cookie 转换为 JS/JSON 对象会起作用吗?当然,如果用户不想发送该 cookie,那么它会失败,但在这种情况下,我认为不做用户积极不想要的事情比无论如何都做更好。
-
你能澄清你在问什么吗?当从网页中的 javascript 访问或从服务器通过 HTTP 请求发送时,Cookie 完全不变。我看到的唯一改变是存储在 IE9 内容目录中的 cookie 的文件名已经改变并且现在更加随机(使攻击者更难抓取)。我知道没有理由直接从任何 Web 应用程序访问这些文件。如果您有这样的原因,请澄清。
-
如果在您的代码中您正在执行类似(伪代码)的操作:如果 cookiename.domain.com 存在,请执行此操作如果 cookie 名称现在是随机的,我将如何找到我正在寻找的 cookie生成一组数字和字母?
-
改变您的工作方式并测试以查看是否存在某些内容在发送的 cookie 中。如果您尝试基于从其他站点设置的 cookie 来做某事,那么您可能会不走运。
-
Blair,如果这是读取由不同站点设置的 cookie 的情况,您可能是对的,但在我们的例子中,它读取的是我们以编程方式设置的 cookie 名称本身。抱歉,我在最初的问题中没有澄清这一点。
标签: jquery internet-explorer cookies