【问题标题】:Cross browser cookies跨浏览器cookies
【发布时间】:2013-09-11 09:41:15
【问题描述】:

我正在开发一个具有 cookie 登录的应用程序。没什么特别的。

但是我遇到了一个奇怪的行为。我正在测试一些应用程序内部,为此我打开了四种不同的浏览器。

清除浏览器历史记录、cookie 和所有内容后 - 打开第一个浏览器时,我需要登录。很好。

下一个浏览器直接进入内容 - 他们使用与我打开第一个浏览器时相同的用户名/密码组合登录。

我确信所有浏览器都保留了自己的 cookie。

当firefox、opera和chrome用同一个用户打开时更惊讶。

有人见过这个吗?

本次会议使用的浏览器是最新的 Firefox、最新的 Chrome、最新的 Opera,不要忘记最新的 IE。

全部在 Win 8.1preview 上执行。

现在 Opera 的外观和感觉非常像 Chrome(相同的代码库?),但其他浏览器绝对不能让我使用其他浏览器 cookie 登录。

更不用说cookie是加密的,只有应用程序知道如何解密它!

我很困惑——非常困惑。它不应该发生!

欢迎提出任何想法。

这篇文章也将发布在其他论坛上。

在此先感谢各位聪明人可以就此事发表意见。

编辑:

刚刚检查过我是否搞砸了什么。这些是采取的步骤:

  • 打开了四个浏览器
  • 清除 cookie 和所有四种浏览器中的所有内容
  • 在所有四种浏览器中都打开了应用的登录页面
  • 使用 IE 登录 - 勾选保存 cookie。
  • 在其他浏览器中刷新登录页面

结果: 刷新这 3 个浏览器后发现它们读取了 IE 针对该特定主机名的 cookie。

编辑

还张贴@http://forums.asp.net/p/1934186/5503683.aspx

编辑

我想我可能找到了一个指针,但不确定要查找什么。 在带有 android 2.1.1 的旧 asus-garmin 手机上进行测试。 我用手机登录到应用程序,它看起来不错。 然后我尝试了新的诺基亚 Lumia 920,并会在 windows phone 8 上进行一些应用测试。 Lumia 是全新的,我打开的第一个网站是我正在开发的应用程序。

想象一下,当应用程序以我在 Android 手机上登录的用户打开时,我会感到惊讶。

唯一常见的是无线接入点。接入点是 Cisco rv-220w,据我所知,它没有任何代理功能。

UEX 技术

【问题讨论】:

  • 没有浏览器与 Internet Explorer 共享 HTTP cookie。 FelixD 是正确的,您看到的是 Flash cookie(可以跨浏览器共享),或者上游代理正在缓存授权后页面。
  • 该应用程序在 Windows Server 2012 上内部运行,它不使用 Flash,因此应该没有 Flash cookie。编辑:我检查了控制面板中的闪存设置,但我的开发站点未列出。我会感到惊讶,因为没有使用闪光灯。不过,我可以在需要时重现该行为。
  • #EricLaw - 应用程序正在开发中并在内部网络上运行 - 不涉及代理。
  • 您应该使用 Fiddler 获取流量日志。也许您在服务器上错误地启用了输出缓存。
  • @EricLaw - 好主意。检查输出缓存,默认情况下启用。没有自定义规则,因此使用默认设置。我尝试禁用缓存并重新启动 IIS。结果令人失望,因为这种行为仍在继续。当然,在再次打开页面之前,所有 cookie 等都会从浏览器中清除。

标签: internet-explorer google-chrome firefox cookies opera


【解决方案1】:

我可以建议检查一下 Flash 是否没有存储这些 cookie (LSO)。

http://www.abine.com/tracking.php - 第 1.4 点

Flash cookie 实时示例:http://www.ts0.com/crosscookie/example.html(不适用于 Ubuntu。适用于 Windows)。我很快就能检查到这一点。

也许这不是存储的 cookie 问题。也许网站授权您使用 IP 地址...这当然不应该发生 :) 但是...

【讨论】:

  • 不 - 没有闪光灯 - 如上所述 - 一切都在内部运行 - 不涉及任何外部。
【解决方案2】:

感谢大家对此提出意见。

我找到了答案。对我来说这是糟糕的编码。

问题是由我的代码中的用户对象引起的。在所有页面的基类中检查了用户对象,但未与 cookie 数据进行比较。

我在测试人员登录时发现了这一点,当我打开浏览器时,我使用他的凭据登录。

所以它不是 cookie,而是一个用户对象,在代码中没有正确验证。

http://forums.asp.net/p/1934186/5506501.aspx

希望其他人不要犯同样的错误:)

【讨论】:

    猜你喜欢
    • 2017-09-16
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 2010-12-21
    • 2011-11-15
    • 2011-06-08
    • 2011-03-03
    相关资源
    最近更新 更多