加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Chrome34忽略域名为“.cloudapp.net”的cookie

发布时间:2020-12-15 19:25:46 所属栏目:asp.Net 来源:网络整理
导读:在Azure中作为Web角色托管的开发/测试环境进行了大量调试后,突然停止使用Chrome 34,我们发现Chrome忽略了域名为“.cloudapp.net”的cookie的设置cookie响应( Azure中云服务的默认公共Microsoft域).我们选择此名称的原因是能够在不同的云服务之间生成CORS请求
在Azure中作为Web角色托管的开发/测试环境进行了大量调试后,突然停止使用Chrome 34,我们发现Chrome忽略了域名为“.cloudapp.net”的cookie的设置cookie响应( Azure中云服务的默认公共Microsoft域).我们选择此名称的原因是能够在不同的云服务之间生成CORS请求,这些请求需要来自同一 javascript应用程序的安全请求.这意味着从像 http://example.cloudapp.net这样的MVC站点获取身份验证cookie,并在另一个Web角色(如 http://exampleServices.cloudapp.net)中调用安全的WebApi REST服务(仅适用于具有相同域名的cookie)

以下是生成身份验证cookie的云服务的身份验证响应示例:

Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Origin,X-Requested-With,Content-Type,Accept
Access-Control-Allow-Origin:http://example.cloudapp.net
Cache-Control:private
Content-Length:31
Content-Type:application/json; charset=utf-8
Date:Fri,11 Apr 2014 20:21:20 GMT
Server:Microsoft-IIS/8.0
Set-Cookie:.COOKIENAME=XXXXXXXXXXXXXXXXXXXX; domain=.cloudapp.net; path=/; HttpOnly

我们面临的问题是,使用此域名在Chrome34中放弃了Cookie,因此任何其他请求都未经过身份验证.
我们可以购买公共域并在azure中设置我们的云服务,但我想知道是否有任何解决此问题的方法.

解决方法

这可能是因为Chrome等浏览器使用公共后缀列表( https://publicsuffix.org/list/effective_tld_names.dat)限制某些Cookie.如果在cookie上设置的域后缀是公开共享的,那么浏览器可以阻止这样的cookie,以防止自己将“未授权”数据发送到在同一域上运行的其他服务器.请注意,cloudapp.net域位于Public Suffix列表中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读