2012-10-25 49 views
3

我試圖將所有的網站cookie放入PHP中的數組中。該腳本的目標是輸入網站網址,並讓腳本檢查設置了哪些Cookie。使用PHP獲取外部網站的Cookie

我使用HTTP_Request這樣的嘗試:

$req = new HTTP_Request($url); 
$req->setMethod(HTTP_REQUEST_METHOD_GET); 
$req->sendRequest(); 
$cookies = $req->getResponseCookies(); 

但這只是返回服務器端的一組Cookie(如會話ID)。我還想收到使用JavaScript設置的Cookie,例如Google Analytics Cookie。

我知道這是可能的,因爲網站:http://www.cookie-checker.com/能夠這樣做。爲了確保「cookie-checker」網站真的解析javascript設置cookie,而不僅僅解析已知的javascript源url,我掃描了一個測試網站,它寫了一個虛擬的javascript cookie。他們成功檢測到此cookie(包括名稱,值和到期日期)。

任何幫助將非常感謝!

在此先感謝。

巴里

+0

是否可以讀取其他網站的cookie?它會不會導致安全漂白? –

+1

cookie-checker向您顯示cookie設置輸入中的網站。但它的價值不是你的 –

回答

4

沒有辦法的一個網站訪問其他網站設置的Cookie。

瀏覽器(必須)確保這不會發生。

你提到的網站做的是向服務器發出請求並解析(也是javascript)它的內容。

你需要做的是確保你的腳本解析所有的javascript並跟蹤使用它設置的cookie。

1

的谷歌Analytics(分析)的Cookie是在HTTP請求的響應設置由javasvascript不能及的。這是不可能的HTTP_REQUEST,這是不可能用PHP ...

你需要有一個JavaScript的intepreter拿到餅乾,或一些模擬瀏覽器(也許Zombie.js?)