您好我有一个网络应用程序,我在我的页面上种植一个cookie。然后用户转到另一个页面,然后从该页面通过脚本调用我的页面,如下所示:
<script type="text/javascript" src="http://domain.com/page.aspx?id=6" ></script>
但是当我调用我的页面时我无法访问cookie,为什么不呢?以及如何解决它?
请注意,此问题与以下方面有关: Javascript and webshop tracking/affiliate across websites, how to do?
修改 “其他”页面位于完全不同的域上。我的代码在ASP.NET中,但据我所知,它对所有语言都是一样的:
种植cookie(Default.aspx):
protected void Page_Load(object sender, EventArgs e)
{
Response.Cookies["affiliate"].Value = "InnovationPartner";
Response.Cookies["affiliate"].Expires = DateTime.Now.AddDays(7);
...
}
检索cookie(往返后)(Collect.aspx):
protected void Page_Load(object sender, EventArgs e)
{
bool affiliate = Request.Cookies["affiliate"] != null ? true : false;
...
}
答案 0 :(得分:0)
许多浏览器都可以选择对“第三方Cookie”设置限制,这就是您的Cookie对于其他网站上的<script>
标记引起的请求所致。
特别是对于IE的默认设置,您需要提供P3P策略。见例如。 this question
答案 1 :(得分:0)
从不同的域调用时,必须执行P3P签名 无论如何,您必须始终观看HTTP日志以跟踪cookie流