我在另一个网站上的JavaScript,它检查cookie的域名是什么?

时间:2014-09-25 19:23:19

标签: javascript cookies

我遇到了一些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?

2 个答案:

答案 0 :(得分:1)

(客户端)JavaScript代码(在网页上)始终在加载到的文档的上下文中执行,因此它可以访问cookie属于该文件。

您可以使用服务器端代码(使用您喜欢的任何语言编写)生成JavaScript,并且服务器端代码可以访问托管JS的URI的cookie(并且可以将数据注入JavaScript文件中)。 (这通常不是一个好主意)。

答案 1 :(得分:0)

它将检查siteB的cookie(运行代码的页面)。如果它不会导致安全问题。此外,CDN库无法正常运行,因为它们会检查CDN域上的cookie,而不是您真正要检查的域。