我对跨域曲奇有个问题。我阅读了很多关于在子域之间共享cookie的文档。所有文章的主要思想是将域属性设置为".mydomain.com“。我在本地IIS服务器上创建了两个域-- test1.local.boo和test2.local.boo。在浏览器中,它们工作得很好,可以看到。我有以下代码:
站点test1 -写cookie:
HttpCookie myCookie = new HttpCookie("TestCookie");
myCookie.Domain = ".local.boo";
myCookie["msg"] = "Welcome from Cookie";
Response.Cookies.Add(myCookie);Site test2 -读取cookie:
HttpCookie cookie = Request.Cookies["TestCookie"];
if (cookie != null)
{
Response.Write(cookie["msg"]);
}
else
{
Response.Write("FAILED");
}此代码总是显示失败的消息。因此,这意味着第二个站点不能从同一个子域读取cookie。我的错误在哪里??
发布于 2010-04-26 17:16:56
您可以使用web调试器(如费德勒 )检查浏览器是否返回cookie标头。
它将显示为每个请求和响应发送的头和cookie,这样您就可以看到是否设置了正确的域,以及请求到第二个域发生了什么。
发布于 2010-04-27 15:16:45
Hmm...The问题是在browser...Opera浏览器中没有将cookie发送到同一子域中的其他站点。Firefox和IE工作得很好。不管怎样,谢谢你们!
注意:如果您想要从其他子域中删除这样的cookie,那么您需要将域属性设置为:.mydomain.com --我已经花了很多时间试图找出它。希望这对某人有帮助
发布于 2010-10-21 22:49:50
在IIS 7中
将此添加到web.config中
<system.webserver>
<httpProtocol>
<customHeaders>
<add name="p3p" value="CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"" />
</customHeaders>
</httpProtocol>
</system.webServer>在II6中。
inetmgrhttps://stackoverflow.com/questions/2715320
复制相似问题