我遇到了一些Cookie问题,我正在尝试进行问题排查。
因此...
我有一个脚本,我放在其他网站域
<script type="text/javascript" src="http://siteA.com/script.php"></script>
让我说我把这个脚本放在siteB上
在http://siteA.com/script.php中的我已经检查了使用此代码的cookie
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
}
function checkCookie() {
var id = getCookie("mycookiename");
if (id == "1234") {
redirect()
} else {
something()
}
}
所以我的问题是,这个javascript是否检查siteA或siteB上的cookie?
答案 0 :(得分:1)
(客户端)JavaScript代码(在网页上)始终在加载到的文档的上下文中执行,因此它可以访问cookie属于该文件。
您可以使用服务器端代码(使用您喜欢的任何语言编写)生成JavaScript,并且服务器端代码可以访问托管JS的URI的cookie(并且可以将数据注入JavaScript文件中)。 (这通常不是一个好主意)。
答案 1 :(得分:0)
它将检查siteB的cookie(运行代码的页面)。如果它不会导致安全问题。此外,CDN库无法正常运行,因为它们会检查CDN域上的cookie,而不是您真正要检查的域。