Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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
php获取另一台服务器设置的cookie_Php - Fatal编程技术网

php获取另一台服务器设置的cookie

php获取另一台服务器设置的cookie,php,Php,我知道我在问如何获得跨域cookie,这在传统上是不可能的,但我们有两个服务器site1.domain.com和site2.domain.com,我们有一个基于cookie的SSO,在公司决定将site2.domain.com移动到一个完全独立的服务器之前,它一直运行良好不同的领域。现在的问题是,当有人登录到site1.domain.com时,我们为.domain.com设置了一个cookie。 我想检查是否有来自domain2.com的cookie,这是第二台服务器的新域 我尝试了curl调用

我知道我在问如何获得跨域cookie,这在传统上是不可能的,但我们有两个服务器
site1.domain.com
site2.domain.com
,我们有一个基于cookie的SSO,在公司决定将
site2.domain.com
移动到一个完全独立的服务器之前,它一直运行良好不同的领域。现在的问题是,当有人登录到
site1.domain.com
时,我们为
.domain.com设置了一个cookie。

我想检查是否有来自
domain2.com
的cookie,这是第二台服务器的新域

我尝试了curl调用一个名为getCookie.php的页面,该页面只获取cookie并发送响应,但是curl启动了一个全新的会话,并不假装是浏览site2.domain2.com的用户

有没有办法,我可以从site2读取cookie值?非常感谢您的帮助。

JSONP

从site1.domain.com加载一个“JS文件”,并将请求的cookie信息作为json返回

编辑

site1.domain.com/getCookie.php

<?php
header('Content-Type: application/x-javascript');
echo 'callback('.json_encode($_COOKIE).');';
?>

并在site2.domain2.com上发布html

<html>
<head>
  <script >function callback(data) { ... }</script>
  <script src="site1.domain.com/getCookie.php" type="text/javascript"></script>
...

函数回调(数据){…}
...

您可以在

上找到更多信息,也许嵌入iframe会有所帮助?如果您可以控制两台服务器,您也可以使用API调用将一些内容组合在一起。这对我来说是新的。。你能给我举个粗略的例子吗?我将非常感谢。您的回调javascript函数需要处理信息并将sso cookie存储在此域中。以下是我在server1上的getCookie.php中尝试的内容,以及我在Server2上的简单html文件。。函数回调(数据){alert(data);}这似乎不起作用。您是否调试了site2站点?这对我来说很有效。老实说,我目前正在研究内部域。但相同来源的策略在这里也应该起作用。我的回答中有一个错误:它是json_encode而不是json_ecode。