小编典典

如何使用php和javascript从其他域获取cookie

ajax

假设我在first.com中说一个用户设置了一个cookie。现在,我想通过javascript和ajax在second.com中读取该cookie。但这不起作用。我有xmlHttp.status
= 0。

样例代码

在第二个域的readcookie.php文件中

var xmlHttp;
    function createXMLHttpRequest(){
        if(window.ActiveXObject)
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        if(window.XMLHttpRequest)
            xmlHttp=new XMLHttpRequest();
    }
    function readcookie(){

        createXMLHttpRequest(); 
        xmlHttp.open("GET","http://www.first.com/cookie.php",true);
        xmlHttp.onreadystatechange=getcookie;
        xmlHttp.send(null);
    }
    function getcookie(){
        if(xmlHttp.readyState==4){
            if(xmlHttp.status==200){
                var reply=xmlHttp.responseText;
                if(reply){
                    alert(reply);
                }
            }
            else
                alert(xmlHttp.status);
        }
    }

在第一个域cookie.php文件中

if(isset($_COOKIE['user'])){
        echo $_COOKIE['user'];
    }
    else{
        setcookie('user','a2345',0);
        echo $_COOKIE['user'];
    }

阅读 324

收藏
2020-07-26

共1个答案

小编典典

您无法从其他域读取Cookie-结尾。

我能想到的唯一方法是将一些代码添加到为您获取Cookie的第二个域中,然后将其放置在iframe中第一个域的页面中。

您显然需要完全访问这两个域才能执行此操作。

2020-07-26