无法访问IE中其他域设置的cookie

我正在使用cookie.js库从本地HTML文件设置cookie

$.cookies.set("Demo","Dummy Data"); 

从另一个域我试图使用下面的代码获取cookie值

 alert($.cookies.get("Demo")); 

但它让我无效。
请帮帮我

这是设计的。 您只能获取当前域中设置的cookie的值。

由于Web浏览器内置了安全措施,因此无法满足您的要求。

最好的选择是制作一个可以跨域的JSONP AJAX请求。

您无法读取其他域设置的cookie。

看看这个关于跨域cookie的主题: 跨域cookie

基本上,这是一个安全function。 如果domain.com设置了cookie,则domain1.com不应该对其进行任何访问,否则您可以获得任何网站的身份validation令牌和其他内容。

不幸的是,它返回null,因为无法访问来自其他域的cookie。 这是一项安全function。

例如,考虑一些网站的会话cookie。 如果我可以通过另一个域上的JS访问该cookie,那么我的恶意网站(我欺骗您访问)可以获取该会话信息并将其提供给某个黑客。 然后黑客更有可能劫持你的会话。 通常情况下,没有其他措施来确保所使用的会话由同一个人使用,因此所有黑帽所需要的是ID和voila – 您访问网站的总访问权限。 假设您在一个窗口登录到您的银行,然后在另一个窗口打开我的黑客邪恶网站…现在我可以访问您的银行帐户。 哎呦!

所以 – 这是不可能的,而且有充分的理由!

实际上,由于SOP( 同源政策 ),这是不可能的。

您可以使用跨域方法解决此问题,例如:postMessage,JSONP,xmlHttpRequest或iframe等。

但是,您必须关注安全问题。 这个播客解释了如何破坏跨域障碍 。 以下post也为您的问题提供解决方案。

Stackoverflowpost

  1. 如何在Safari中的iframe中设置来自外部域的cookie? ;
  2. 根据内容调整iframe大小 ;