2012-02-28 57 views
1

我想要做的是顯示一個「登錄」網站的iframe。例如,假設我想在iframe中向您顯示您的Gmail帳戶(已登錄)。cURL Cookies複製到訪問用戶(使用Javascript?)

所以我所做的就是用cURL登錄。登錄腳本完美地工作。我將cookiejar設置爲cookie.txt,如下所示...

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt **($ch, CURLOPT_COOKIEJAR, "cookie.txt");** 

登錄本身工作正常!問題是,當我嘗試使用iframe時,它表示您需要登錄,因爲Cookie正在被服務器(cookie.txt)保存,而iframe則在客戶端呈現。

所以,我需要做的是將cookie放入該cookie.txt中,並將它們寫入用戶計算機上的類似文件。我想你使用Javascript來做到這一點?

+0

Javascript是不必要的,你已經在使用支持cookie的PHP了。 – h0tw1r3 2012-02-28 06:12:52

回答

0

你不能在用戶電腦上用javascript寫任何文件。

即使您在客戶端有Cookie(可能通過ajax從服務器獲取cookie),您也無法將Cookie設置爲另一個域。

我認爲你唯一的選擇就是將網站代理給用戶,這意味着iframe實際上會指向你的服務器上的一個php腳本,它會請求外部頁面在cookies中發送,然後顯示給用戶。

編輯

另外,如果在他的網頁上的登錄名和密碼的用戶類型,或者如果您有它保存在你的服務器,你可以把它變成一個形式與目標設置爲iframe和提交它到登錄頁面。

+1

是的,但沒有什麼不同,只是從cURL回顯HTML,這不起作用,因爲CSS是搞砸了... 但謝謝你的回答! – hellohellosharp 2012-02-28 06:29:14

+0

我不知道,但也許你的CSS問題可以通過添加一個基本標籤到cURL產生的HTML來解決。 – Delta 2012-02-28 06:31:00