【发布时间】:2011-09-01 19:34:47
【问题描述】:
我不久前问过这个question,发现IE 会阻止iframe 中的跨域cookie,除非您设置p3p policy。到目前为止,p3p 修复在 ie 中运行良好。但是,现在我们在 safari 中遇到了同样的错误。
我发现一篇带有不同 p3p policy 的文章用于 safari。我添加了此代码来设置 p3p 策略,但我仍然收到请求验证令牌错误。
public static void SetP3PCompactPolicy()
{
HttpContext current = HttpContext.Current;
if (current.Request.UserAgent.ToLower().IndexOf("safari") >= 0)
HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA\"");
else
HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
}
我不确定这意味着什么,但它不适用于 Safari (5)。
此外,当我收到服务器错误时,所有信息都会在报告中发送给我,包括所有 http 标头。 p3p 标头永远不会出现在这些错误中。我不确定这是设计使然,还是表明问题正在发生。
【问题讨论】:
标签: asp.net-mvc-2 cookies safari cross-domain p3p