如何从远程 URL 创建 javascript cookie 列表(例如 google analytics _utmz cookie)?
我可以通过获取 http 标头来获取 http cookie。有没有办法在远程 URL 上执行“document.cookie”?
提前致谢!
如何从远程 URL 创建 javascript cookie 列表(例如 google analytics _utmz cookie)?
我可以通过获取 http 标头来获取 http cookie。有没有办法在远程 URL 上执行“document.cookie”?
提前致谢!
出于明显的安全原因,网站不可能访问其他网站设置的 cookie。
例如,Alice 访问 Bob 的网站并登录。Bob 的网站在 Alice 的浏览器中设置了一个 cookie,证明她已登录。Alice 访问了 Malory 的网站。如果 Malory 可以读取 Bob 为 Alice 设置的 cookie,那么 Malory 可以轻松地伪装成 Alice,并访问 Alice 存储在 Bob 站点上的所有数据。
您只能获取站点所在域的 cookie。
唯一的其他选择是使用来自该域的 iframe,但这仍然需要您控制相关域才能对信息执行任何操作。
编辑:
如果您尝试从与网页相同的域获取 cookie,请使用:
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
getCookie("分析_utmz");
(参见备受憎恨的W3Schools中的示例)