0
這就是我想要實現: 我不能用真實URL的,所以我會用網站A.com和B.comPHP捲曲登錄的Cookie
- 從第一頁A.com我展示一個登錄表單,然後我使用CURL將值提交給域B,登錄並獲取cookie名稱
- 然後,我使用正確的信息和cookie名稱設置標題
- 將頁面重定向到B.com/welcome.php使用PHP定位功能
我的問題是,我總是得到錯誤:您的會話已過期。請再次登錄。 如果我使用CURL登錄並獲取cookie,然後使用CURL來顯示它的工作頁面。
捲曲部分工作正常,下面的代碼會導致會話過期錯誤」
header ('Host: B.com\n');
header ('User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1\n');
header ('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\n');
header ('Accept-Language: en-gb,en;q=0.5\n');
header ('Accept-Encoding: gzip, deflate\n');
header ('Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\n');
header ('Referer: http://B.com/\n');
header ('Content-type: application/x-www-form-urlencoded\n');
header ('location: B.com/welcome.php');
我使用這些頭的原因是因爲這正是從火狐發送,當我手動登錄到頁面。
感謝您的幫助
您不能從A.com爲* site B.com設置cookie *。 Cookie只能針對該域中的任何給定域設置。這沒有解決辦法。幾乎所有瀏覽器默認都會阻止[第三方Cookie](http://en.wikipedia.org/wiki/HTTP_cookie#Third-party_cookie),這需要客戶端明確允許。 – DaveRandom
我不禁懷疑這將用於惡意目的。 – 2011-11-01 11:04:29
我不想設置第三方cookie,我通過curl創建cookie,獲取cookie值,然後通過位置傳遞值,因此從理論上講,PHP服務器應該讀取cookie值並說我有一個會話該ID請繼續... – Alfonso