【发布时间】:2015-03-29 00:21:34
【问题描述】:
我有两个网站。我想通过 curl 请求在另一个域上设置 cookie。
我正在从我的第一个网站发出 curl 请求。 以下是代码结构:
$url = 'http://www.secondwebsite.com/ext/access/api/manage.php';
$data = array('id' => '23',
"firstname" => "First name",
"lastname" => "last name",
"email" => "email@gmail.com",
'username' => 'username',
'password' => 'password123',
'action' => 'add',
'authkey' => '12345tgtgtt');
$ch = curl_init($url);
$data_string = urlencode(json_encode($data));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array("customer" => $data_string));
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result);
manage.php(代码结构)
setcookie('username', $_POST['username'], time() + (86400 * 30), "/"); // 86400 = 1 day
setcookie('password', $_POST['password'], time() + (86400 * 30), "/"); // 86400 = 1 day
但是没有为 www.secondwebsite.com 设置 cookie。 还有其他方法可以设置跨域cookie吗? 实际上我想在两个网站之间开发 SSO(单点登录)功能。我希望如果任何用户登录 firstwebsite.com,那么用户将自动登录 secondwebsite.com。
php 中是否有任何实现 SSO 功能的方法?请分享..
【问题讨论】:
-
你不能。想象一下,如果
nastysite.ru可以为您的onlinebank.com操作(设置/读取/更改/删除)cookie,会发生什么?
标签: php curl cookies cross-domain setcookie