我在两个不同的域中有两个 webapps WebApp1 和 WebApp2。
我知道这听起来很奇怪,因为 cookie 特定于给定的域,我们无法从不同的域访问它们;然而,我听说过可以跨多个 web 应用程序共享的跨域 cookie。如何使用 CROSS-DOMAIN cookie 实现此要求?
注意:我正在尝试使用 J2EE webapps
最佳答案
是的,绝对有可能通过 domain2.com 从 domain1.com 获取 cookie。我的社交网络的社交插件遇到了同样的问题,经过一天的研究,我找到了解决方案。
首先,在服务器端,您需要具有以下 header :
header("Access-Control-Allow-Origin: http://origin.domain:port");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Methods: GET, POST");
header("Access-Control-Allow-Headers: Content-Type, *");
在 PHP 文件中,您可以使用
$_COOKIE[name]
二、在客户端:
在您的 ajax 请求中,您需要包含 2 个参数
crossDomain: true
xhrFields: { withCredentials: true }
例子:
type: "get",
url: link,
crossDomain: true,
dataType: 'json',
xhrFields: {
withCredentials: true
}
关于cookies - 跨域 Cookie,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3342140/