2014-08-27 71 views

回答

1

您无法检索属于其他域的Cookie。作为一种解决方法(如果您仍然可以使用旧域名);通过从http://olddomain.com内部http://newdomain.com内部创建一个iframe,您可以获取cookie并通过postMessage发送给父母。

+0

这是一个非常有趣的解决方法 – fguillen 2014-08-27 12:28:02

0

Cookie受同一来源策略影响,但您可以绕过CORS(跨源资源共享)。

CORS是浏览器和服务器之间的游戏。 基本思想是允许ajax请求跨域,但你可以用来共享cookie(应采取安全措施)。

浏览器发送带有Origin标头的请求。 如果服务器允许请求,则它使用原始值的Access-Control-Allow-Origin标头进行回复。 如果服务器未使用标题回复或不匹配使用Access-Control-Allow-Origin浏览器的Origin不允许该请求。

但默认情况下,它不发送cookie或类似的东西(你必须添加“allow-credentials”额外的头文件)。

随着CORS可以共享添加到新的域服务器下列头域之间的会话:

Access-Control-Allow-Origin: https://original-domain.com 
Access-Control-Allow-Credentials: true 

更多关于CORS信息:

+0

我没有看到服务器配置如何影响浏览器发送cookie到他们不属于的域。这将是一个非常安全的问题。 – fguillen 2014-08-27 12:23:04

+0

@fguillen关于安全我认为你可以阅读[Stackoverflow](http://goo.gl/Zsrl0o)或[OWASP](http://goo.gl/36PaEO)这个链接 – rgo 2014-08-27 14:26:07

+0

据我了解整个** CORS **是一个防止浏览器访问未经授权的服务器资源的系统。但是在cookies的背景下,安全问题却是相反的。根据我的理解** CORS **配置,您建议将cookies发送到其他域下的网站_original-domain.com_。但它会发送由域名_original-domain.com_拥有的Cookie,而不是来自另一域名的Cookie ..我在寻找的是从另一个域名托管的网站上的一个域名所拥有的Cookie。 – fguillen 2014-08-27 16:25:31

相关问题