ホームページ > バックエンド開発 > PHPチュートリアル > PHP は、curl を使用して IP ソースを偽造するメソッドを実装します。curl_PHP チュートリアル

PHP は、curl を使用して IP ソースを偽造するメソッドを実装します。curl_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:13:30
オリジナル
883 人が閲覧しました

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

本当

技術記事 PHP は、curlip を使用して IP ソースを偽造する方法を実装します。 この記事では、curlip を使用して IP ソースを偽造する方法を実装する PHP の例について説明します。 IP ソースの偽造、ドメイン名の偽造、ユーザー情報の偽造などが可能です...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート