3

我正在尝试将网站的所有 cookie 放入 PHP 中的数组中。该脚本的目标是输入一个网站 url 并让脚本检查设置了哪些 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(包括名称、值和到期日期)。

任何帮助将不胜感激!

提前致谢。

巴里

4

2 回答 2

4

网站无法访问其他网站设置的 cookie。

浏览器(必须)确保这不会发生。

您提到的网站所做的是向服务器发出请求并解析(也是 javascript)其内容。

您需要做的是确保您的脚本解析所有 javascript 并跟踪使用它设置的 cookie。

于 2012-10-25T12:03:24.643 回答
1

Google Analytics cookie 由 javasvascript 设置,而不是在 http 请求的响应中。HTTP_Request 不可能,PHP 不可能……

你需要一个 javascript 解释器来获取 cookie,或者一些无头浏览器(也许是 Zombie.js?)

于 2012-10-25T12:01:17.157 回答