Cookies 未跨子域共享持久cookie

Cookies 未跨子域共享持久cookie,cookies,internet-explorer-9,browser-cache,Cookies,Internet Explorer 9,Browser Cache,我有两个asp.net应用程序在同一个域上运行(在暂存和生产中)。应用程序A在弹出窗口中打开应用程序B的页面。暂存和生产的cookie名称不同 但奇怪的是,对于一些用户来说,即使请求是用于生产的,也会将暂存cookie附加到请求中。它是从某处提取的缓存请求吗?生产饼干去哪里?在应用程序A中,可以找到cookies,它们很好。但是应用程序B得到了暂存/错误的cookie 很抱歉,没有共享任何关于机密性问题的代码。下面是一个例子: 在应用程序A中,存在以下cookie: BDT, path="/",

我有两个asp.net应用程序在同一个域上运行(在暂存和生产中)。应用程序A在弹出窗口中打开应用程序B的页面。暂存和生产的cookie名称不同

但奇怪的是,对于一些用户来说,即使请求是用于生产的,也会将暂存cookie附加到请求中。它是从某处提取的缓存请求吗?生产饼干去哪里?在应用程序A中,可以找到cookies,它们很好。但是应用程序B得到了暂存/错误的cookie

很抱歉,没有共享任何关于机密性问题的代码。下面是一个例子:

在应用程序A中,存在以下cookie:

BDT, path="/", domain=".sample.com" (this is production)
在应用程序B中,cookie有点像这样:

SBDT, path="/", domain=".sample.com" (this is staging cookie)
请求是否被缓存(在机器或某个代理服务器上)并重复发出?或者可能是一些恶意软件/病毒

用户在Windows7上使用IE9(在IE7模式下),我们终于破解了它。 我们再次仔细分析了HttpWatch日志,注意到应用程序B正在IE保护模式下运行,而应用程序A没有

我们请求客户端清除缓存并再次启动应用程序。之后我们发现,

应用程序B根本没有收到任何cookie

我们猜测,他们在IE保护模式下运行,启用了高安全级别。而且他们在可信网站列表中只有“应用程序A”,即
AppA.sample.com

我们要求他们改为添加
*.sample.com
,这就解决了这个问题

有关更多详细信息,请查看:

在您的示例中,暂存和生产领域完全相同。准确吗?在客户端和暂存/生产之间有什么代理服务器?(您可以检查HTTP请求中的X-Forwarded-for HTTP头,行为良好的代理将设置该头)。谢谢@EricJ。为了快速反应。是的,这两个域是相同的,服务器名称会有所不同(如prod.sample.com、stg.sample.com)。我已经检查过了,请求中没有XFF头。我们从用户处获取了httpwatch日志。如果可能,请将cookie设置为特定的子域prod.sample.com或stg.sample.com。使用配置文件或类似文件告诉软件要在哪个子域上设置cookie。