2012-10-25 28 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?)