3

WebサイトのすべてのCookieをPHPの配列に入れようとしています。スクリプトの目的は、WebサイトのURLを入力し、スクリプトに設定されているCookieを確認させることです。

私は次のようにHTTP_Requestを使用してみました:

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

ただし、これはサーバー側の設定されたCookie(セッションIDなど)のみを返します。また、Google AnalyticsのCookieのように、JavaScriptで設定されたCookieを受け取りたいと思います。

ウェブサイトhttp://www.cookie-checker.com/がそうすることができるので、私はこれが可能であることを知っています。「cookie-checker」Webサイトが実際にjavascriptセットcookieを解析しており、既知のjavascriptソースURLを解析しているだけではないことを確認するために、ダミーのjavascriptcookieを書き込んだテストWebサイトをスキャンしました。彼らはこのCookieを正常に検出しました(名前、値、有効期限を含む)。

どんな助けでも大歓迎です!

前もって感謝します。

バリー

4

2 に答える 2

4

Webサイトが別のサイトによって設定されたCookieにアクセスする方法はありません。

ブラウザは(しなければならない)これが起こらないことを確認します。

あなたが言及したサイトは、サーバーにリクエストを送信し、そのコンテンツ(JavaScriptも)を解析します。

スクリプトがすべてのJavaScriptを解析し、それを使用して設定されたCookieを追跡していることを確認する必要があります。

于 2012-10-25T12:03:24.643 に答える
1

Google AnalyticsのCookieはjavasvascriptによって設定され、httpリクエストの応答では設定されません。HTTP_Requestでは不可能です。PHPでは不可能です...

Cookieを取得するには、JavaScriptインタープリター、またはヘッドレスブラウザー(Zombie.jsなど)が必要です。

于 2012-10-25T12:01:17.157 に答える