我的网站上有一个问题,我试图帮助第三方在我们的网站上安装Cookie。我只处理过第一方Cookie,所以有点麻烦。
例如,我的网站位于a.com
,我需要设置Cookie test_cookie
并将其发送到b.com
。
我的第一个猜测是使用包含a.com
的{{1}}的JavaScript在domain
上创建cookie。这不起作用,我根本无法使用包含与b.com
不同域的javascript设置cookie。
第二,a.com
有一个网页,如果该网页加载,将设置所需的cookie。因此,我使用以下代码向b.com
发出了ajax请求。
b.com
该请求返回了带有var xhttp = new XMLHttpRequest();
xhttp.open("GET", "https://b.com/setcookie.php", true);
xhttp.withCredentials = true;
xhttp.send();
头的成功响应,但是从未设置此头中定义的cookie。因此,我认为此时我尝试的所有操作都由于安全策略而被拒绝,但是我仍然感到困惑,因为其他第三方脚本也能够安装Cookie。他们在做什么不同的事情?
我读到我可以在Set-Cookie
上加载指向iframe
的{{1}},这将导致cookie被安装。我尝试加载b.com
,并且可以看到已安装cookie。但是,我有一个脚本在a.com
上调用API,并且我注意到iframe
请求标头不包含b.com
设置的cookie。
我认为向Cookie
发出请求的脚本至少应该能够为所请求的iframe
设置cookie,但显然我丢失了一些东西。