php は、curl を使用して IP ソースを偽造するメソッド、curllip を実装します
この記事の例では、PHP が Curl を使用して偽造 IP ソースを実装する方法を説明します。 IP ソース、ドメイン名、ユーザー情報を偽造し、参照用に全員と共有することができます。具体的な実装方法は以下の通りです
偽のユーザーブラウザ情報HTTP_USER_AGENTを定義します
コードをコピーします コードは次のとおりです:
$binfo =array('Mozilla/4.0 (互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17; Alexa ツールバー)'、'Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0'、'Mozilla/4.0 (互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C ; Alexa ツールバー)','Mozilla/4.0(互換性; MSIE 6.0; Windows NT 5.1; SV1)',$_SERVER['HTTP_USER_AGENT']);
//123.125.68.*
//125.90.88.*
偽の IP ソース セグメントを定義します。ここで Baidu の IP アドレスを探します
コードをコピーします コードは次のとおりです:
$cip = '123.125.68.'.mt_rand(0,254);
$xip = '125.90.88.'.mt_rand(0,254);
$header = array(
'クライアントIP:'.$cip、
'X-転送先:'.$xip,
);
カールを使用してサーバーへの偽の情報の送信を開始します
コードをコピーします コードは次のとおりです:
function getimgs( $url,$userinfo,$header)
{
$ch =curl_init();
$タイムアウト = 5;
curl_setopt ($ch, CURLOPT_URL, "$url");
curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt ($ch, CURLOPT_REFERER, "http://www.baidu.com/");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, "$userinfo");
curl_setopt ($ch、CURLOPT_CONNECTTIMEOUT、$timeout);
$contents =curl_exec($ch);
curl_close($ch);
$content を返します;
}
データ取得後は保存させていただきます
コードをコピーします コードは次のとおりです:function saveimgs( $handle )
{
$fp = fopen('a.jpg',"w");
fwrite($fp,$handle);
設定を解除($fp);
unset($handle);
}
偽の IP インスタンスをテストする
コードをコピーします コードは次のとおりです:$url ='http://www.bkjia.com/images/logo.gif';
$u = $binfo[mt_rand(0,3)];
saveimgs(getimgs($url,$u,$header));
このようにして、ファイル a.jpg が現在のディレクトリに正常に保存されました。サーバー ログがカスタマイズされたユーザー情報であるかどうかを確認できるようになりました。
192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET /test.php HTTP/1.1" 200 1244 "-" "Mozilla/4.0 (互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; AskTbPTV/5.17.0.25589;
192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET / HTTP/1.1" 200 40538 "http://www.baidu.com/" "Mozilla/4.0 (互換性; MSIE 8.0) ; Windows NT 5.1; .NET4.0C;
192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET /test.php HTTP/1.1" 200 1244 "-" "Mozilla/4.0 (互換性; MSIE 8.0; Windows NT 5.1; Trident /4.0; .NET CLR 2.0.50727; AskTbPTV/5.17.0.25589;
192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET / HTTP/1.1" 200 40538 "http://www.baidu.com/" "Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0"
ご覧のとおり、それは完全に正しいのですが、なぜ IP アドレスをテストしなかったのでしょうか? php を使用して IP アドレスを取得すると、IP アドレスが偽造されたことが表示されます。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/915433.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/915433.html技術記事 PHP は、curlip を使用して IP ソースを偽造する方法を実装します。 この記事では、curlip を使用して IP ソースを偽造する方法を実装する PHP の例について説明します。 IP ソースの偽造、ドメイン名の偽造、ユーザー情報の偽造などが可能です...