Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 服务器是否可以通过xmlHTTPrequest读取另一台服务器的会话?_Javascript_Jquery_Ajax_Session - Fatal编程技术网

Javascript 服务器是否可以通过xmlHTTPrequest读取另一台服务器的会话?

Javascript 服务器是否可以通过xmlHTTPrequest读取另一台服务器的会话?,javascript,jquery,ajax,session,Javascript,Jquery,Ajax,Session,我问这个问题是因为这必须是可能的,因为推特、谷歌和facebook都是通过社交按钮来实现的。 我使用服务器1上文件socialbuttons.js中的ajax代码 $.ajax({ url: 'http://server1.com/checkifuserisloggedin', cache: false, success: function(response){ if (response == 0) { lo

我问这个问题是因为这必须是可能的,因为推特、谷歌和facebook都是通过社交按钮来实现的。 我使用服务器1上文件
socialbuttons.js
中的ajax代码

    $.ajax({
    url: 'http://server1.com/checkifuserisloggedin',
    cache: false,
    success: function(response){
        if (response == 0)
        {
            login = true;
        }
    }
});
现在的代码是

出于某种原因,当我在服务器2上放置指向
socialbuttons.js
的链接时,它无法判断会话是否处于活动状态,并且无论用户是否登录,都返回1。
如果无法使用会话,我如何才能做到这一点?

您知道facebook、twitter将会话数据保存在何处吗?是在数据库中还是在共享机器中?#我不知道,但我猜是在会话cookie中,就像其他人一样,你不能“读取另一台服务器的会话”-结束。如果您对两台服务器都有控制权,那么您可以在其中任何一台服务器上放置一个脚本,当被询问时,该脚本将以会话值进行响应,但您不能(例如)只说“domain.com.session[var]”,这将是非常可笑的。这只是一个用于标识服务器中会话密钥的cookie。但是会话数据存储在哪里?最简单的方法可能是iframe。你给某人一些“嵌入代码”,他们把它放在他们的网站上,但它会在你的网站上打开一个页面,上面有你想要的任何控件。至于他们登录,我认为这是个坏主意,因为这意味着他们必须在打开浏览器后登录到您的网站,才能使用其他人网站上的控件。饼干比这更友好,但仍然有很多事情要考虑。这不是一个简单的任务,除非你想忘记安全性,让任何人都可以发布。
header("Access-Control-Allow-Origin: *");
if (isset($_SESSION["user"]))
{
    echo "0";
}
else
{
    echo "1";
}