1

私はcurlを使用してWebサイトから情報を取得していますが、サーバーのIPアドレスを使用していますが、クライアントのIPアドレスを使用したいので、各ユーザーはサーバーではなく独自のIPでリクエストを送信します。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "URL");
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
$buffer = curl_exec($ch);
curl_close($ch);
4

3 に答える 3

3

そうではありません。サーバー IP が送信されるのは、見ている Web サイトがデータをどこに送り返すかを知る必要があるためです。

IP を偽造してしまった場合、これは CURL ではできないことです (未加工のパケット/ソケットを操作するものが必要です)。コードは応答を確認できません。

于 2010-01-23T20:20:01.057 に答える
1

へー、それは不可能です。他の誰かの IP アドレスを呼び出しの発信元アドレスとして使用することはできません (もちろん、プロキシとして悪用したり、アドレスを偽装したりする場合を除きます)。

達成したいことを詳しく説明すると、誰かが回避策を思いつくかもしれません。

于 2010-01-23T20:18:52.710 に答える
0

PHP はクライアントのマシンでは実行されません。PHP 経由で行われるすべてのネットワーク接続は、接続クライアントとして Web サーバーで行われます。次のように概念化すると役立つ場合があります。クライアントが PHP ページにアクセスすると、サーバー上で PHP が実行され、HTML ページが生成されます。ネットワーク経由でクライアントに送信されるのは、生成された HTML ページであり、PHP コードではありません。PHP は、HTML ページを動的に生成するための単なるツールです。

私が見る唯一の解決策は、iframe の URL を動的に変更し、javascript を使用して iframe のコンテンツを解析することです。情報を送り返したい場合は、AJAX ルーチンを使用して接続し、javascript が iframe から収集した情報を送り返すことができます。

于 2010-01-23T21:17:47.307 に答える