【问题标题】:Browser ignores cookie if domain is set如果设置了域,浏览器会忽略 cookie
【发布时间】:2014-06-19 15:21:00
【问题描述】:

我需要在部署在 azure 上的两个 Web 应用程序(例如 x1.azurewebsites.net、x2.azurewebsites.net)之间共享 cookie

我认为我需要做的就是设置一个域:

Response.Cookies.Add(new HttpCookie("TEST", "BLE")
{
Domain = "azurewebsites.net"
});

但它不起作用。

出于测试目的,我添加了:

Response.Cookies.Add(new HttpCookie("TEST2", "AQQ"));

这个工作正常 - 但它仅在 x1.azurewebsites.net 上可用

所以问题是上面的代码有什么问题?

可以这样分享cookie吗?

也许这是安全问题? - 我了解托管在 azuerwebsites 上的每个应用程序都可以访问存储在我的 cookie 中的信息

【问题讨论】:

    标签: asp.net cookies


    【解决方案1】:

    我发现我的问题类似于

    Chrome34 ignores cookies with domain ".cloudapp.net"

    所以我的问题的原因是浏览器检查 publicsuffix.org 列表中的域并出于安全原因阻止 cookie。

    有关更多信息,请参阅: http://publicsuffix.org/

    【讨论】:

      【解决方案2】:

      RFC2109 规定,明确指定的域必须以点开头。

      http://www.ietf.org/rfc/rfc2109.txt

      【讨论】:

        猜你喜欢
        • 2019-03-16
        • 2021-01-26
        • 2022-12-04
        • 2011-01-20
        • 2012-08-21
        • 2014-05-07
        • 2019-06-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多