2011-07-26 62 views
0

有站點A應該使用站點的B身份驗證。在站點A,我添加了curl的post.php到站點B.同時在站點A,我對該login.php有jquery Ajax請求。如果沒有錯誤,我將用戶重定向到站點B(在JavaScript中)。一切都很好,除了重定向之後用戶沒有被認證,因爲沒有任何會話cookie。所以我的想法是在login.php中從curl請求中讀取會話ID並添加一個包含該會話ID的cookie。我認爲這會解決我的問題。 所以問題是 - 如何從curl讀取會話ID? 謝謝CURL和會話Id

+1

可能重複[如何將cookie從一個php捲曲轉換爲變量],您可以將它們設置爲A,並且B最終可以讀取它們, (http://stackoverflow.com/questions/895786/how-to-get-the-cookies-from-a-php-curl-into-a-variable) – Paulpro

+1

你應該只讀取所有的cookies,而不僅僅是'會話ID「,那麼你可以傳遞cookie和你的下一個請求。 – Paulpro

回答

1

如果您將用戶重定向到另一個域,則無法設置用戶瀏覽器將發送到其他域的cookie。如果你擁有這兩個站點,你需要實現cross-domain cookie(有幾種方法可以做到這一點,主要包括從站點B加載站點A的一些元素,然後用JS將cookie數據從一個域複製到另一個域)。

您無法強制用戶執行POST請求到其他站點,或告訴他要發送什麼HTTP標頭。您無法爲域B設置Cookie - 如果您設置cross-domain cookie