比方說我有一個網站LoginSite和其他兩個站點站點1和SITE2。現在跨域登錄
,如果在用戶登錄時從LoginSite,那麼他/她應該是自動登錄到SITE1和SITE2。
我已經試過以下兩種方式相同
WAY1 ::使用AJAX
我白名單LoginSite的域成site1和site2。
但是,它只啓用了跨域的Ajax請求。它不存儲會話site1 and site2。
Way2 ::使用捲曲
我試着用捲曲的一套下面的代碼相同。
$username="[email protected]";
$password="mypassword";
$url="http://site1.com/api/login";
$cookie="cookie.txt";
$postdata = "[email protected]&password=mypassword";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
echo $result;
curl_close($ch);
以上代碼無法正常工作。一定有一些缺失。我想不知何故我必須從site1返回sessionID並使用它。
Pl。幫助/指導我如何做到這一點。
注:我不想張貼形式site1的或站點2
「以上代碼無法正常工作。一定有一些缺失。我猜想我必須從site1返回sessionID並使用它。「 - 這是不可能的,'site2'不能告訴瀏覽器爲'site1'設置一個cookie。這將是一個嚴重的安全問題。 – Quentin
好吧... so你有任何其他的替代方案或建議嗎?謝謝你清除我的頭腦我也對這個跨域cookie的事情懷疑 –
如果我有時間來填補我的知識空白,並寫一個答案,我 – Quentin