ホームページ バックエンド開発 PHPチュートリアル PHP 攻撃対策コードのアップグレード版_PHP チュートリアル

PHP 攻撃対策コードのアップグレード版_PHP チュートリアル

Jul 21, 2016 pm 03:32 PM
php コード インターセプト 攻撃 ほとんど 持っている 突然

不过最近几天突然糟糕了起来,有90%的攻击已经没法拦截,请看下图一天的统计:

IP攻击及开始时间 攻击次数 地点 备注
125.165.1.42--2010-11-19 02:02:19--/ 10 印度尼西亚  
125.165.26.186--2010-11-19 16:56:45--/ 1846 印度尼西亚  
151.51.238.254--2010-11-19 09:32:40--/ 4581 意大利  
151.76.40.182--2010-11-19 11:58:37--/ 4763 意大利 罗马  
186.28.125.37--2010-11-19 11:19:22--/ 170 哥伦比亚  
186.28.131.122--2010-11-19 11:28:43--/ 22 哥伦比亚  
186.28.25.130--2010-11-19 11:30:20--/ 1530 哥伦比亚  
188.3.1.108--2010-11-19 02:48:28--/ 1699 土耳其  
188.3.1.18--2010-11-19 06:46:01--/ 1358 土耳其  
188.3.34.226--2010-11-19 17:07:02--/ 1672 土耳其  
190.24.50.228--2010-11-19 12:26:38--/ 2038 哥伦比亚  
190.24.83.82--2010-11-19 14:20:10--/ 9169 哥伦比亚  
190.25.30.213--2010-11-19 14:00:44--/ 680 哥伦比亚  
190.26.29.130--2010-11-19 13:33:11--/ 510 哥伦比亚  
190.27.115.101--2010-11-19 13:53:48--/ 340 哥伦比亚  
190.27.22.222--2010-11-19 12:16:02--/ 340 哥伦比亚  
201.244.113.165--2010-11-19 11:25:55--/ 170 哥伦比亚  
201.244.113.47--2010-11-19 11:24:56--/ 147 哥伦比亚  
201.244.115.156--2010-11-19 10:13:56--/ 2031 哥伦比亚  
201.244.119.228--2010-11-19 13:50:05--/ 170 哥伦比亚  
201.245.218.155--2010-11-19 13:30:30--/ 21 哥伦比亚  
212.156.185.122--2010-11-19 08:40:36--/ 16158 土耳其  
78.160.106.60--2010-11-19 03:31:12--/ 340 土耳其  
78.162.67.77--2010-11-19 04:26:24--/ 3595 土耳其 程序已抓
78.175.64.173--2010-11-19 02:00:08--/ 2877 土耳其  
78.176.178.76--2010-11-19 06:12:05--/ 2370 土耳其  
78.177.2.86--2010-11-19 13:24:29--/ 196 土耳其  
78.181.76.51--2010-11-19 16:04:29--/ 600 土耳其  
78.184.145.63--2010-11-19 14:30:12--/ 2542 土耳其  
78.185.168.24--2010-11-19 09:02:52--/ 3877 土耳其  
78.190.79.225--2010-11-19 13:25:22--/ 3300 土耳其  
78.190.84.230--2010-11-19 06:51:33--/ 2719 土耳其  
78.191.149.47--2010-11-19 08:34:34--/ 8783 土耳其  
78.191.233.108--2010-11-19 05:10:48--/ 340 土耳其  
78.191.94.126--2010-11-19 04:34:26--/ 3091 土耳其  
85.104.231.74--2010-11-19 08:03:53--/ 3500 土耳其  
85.104.49.60--2010-11-19 04:47:12--/ 1037 土耳其  
85.106.123.116--2010-11-19 13:35:45--/ 68 土耳其  
88.224.255.96--2010-11-19 07:18:59--/ 3903 土耳其  
88.228.138.65--2010-11-19 02:12:31--/ 396 土耳其  
88.228.66.5--2010-11-19 10:44:26--/ 2797 土耳其  
88.229.12.40--2010-11-19 06:57:46--/ 6792 土耳其  
88.234.193.11--2010-11-19 08:25:42--/ 5895 土耳其  
88.236.78.79--2010-11-19 15:01:54--/ 170 土耳其  
88.238.26.12--2010-11-19 05:21:46--/ 473 土耳其  
88.238.26.154--2010-11-19 05:31:58--/ 1683 土耳其  
88.242.124.128--2010-11-19 06:53:56--/ 8401 土耳其  
88.242.65.61--2010-11-19 08:38:41--/ 1204 土耳其 程序已抓
94.122.20.157--2010-11-19 09:53:39--/ 1917 土耳其 美国 程序已抓
94.54.37.54--2010-11-19 02:44:07--/ 1096 土耳其 美国 程序已抓
95.14.1.97--2010-11-19 08:30:10--/ 167 土耳其 美国  
95.15.248.177--2010-11-19 11:14:54--/ 1454 土耳其 美国 程序已抓
       
共125008次,快的15秒172次,只抓9266次。      

このテーブルは、1 日に 120,000 回もの攻撃を受けていました。この攻撃の特徴は、攻撃が行われるたびに Web サイトの速度に影響を与えることです。攻撃中、3 ~ 5 の異なる IP が 1 秒あたり 3 ~ 5 回の速度で同時に攻撃します。合計すると 1 秒あたり 9 ~ 25 回になります。IP は 1 ~ 6 時間ごとに変化します。以前のレコードは繰り返されません。このようにして、第一に、Web サイトのメモリが突然大きくなりすぎ、ライトが点灯し、第二に、ネットワークに大きな不安定性をもたらします。一部の IP はブロックされており、以前から存在していましたが、すべてのブロックを解除しようとすると、複数の IP が同時に攻撃し、Web サイトに数分間深刻な過負荷がかかりました。

さて、今回の本題に入りましょう。なぜ新たな攻撃を阻止できないのでしょうか?調査の結果、IP の 90% が新しい攻撃計画を採用していることがわかりました。前回のプログラム パラメーターは 600 秒という保守的な計画に設定されていたため、2 分間の停止と 5 分間の停止で交互にインテリジェントに攻撃できるようになりました。 /period でパラメータを 120 秒間に 120 回の新しいソリューションに変更したところ、誤ったキル率は 0.5% 以内でした。ログを比較すると、120 秒間に 120 回の誤ったキルは試行されていないことが分析できます。 120 秒に 1 回を超えるのは 1 回だけです。ネットワークの問題により、1 人の顧客がもう一度貨物ページを更新しました。これは主に、トランザクション バックエンドが十分にインテリジェントではないためです。

最後に、皆さんからのメッセージに感謝します。ただし、私のプログラムはあくまでも現地の状況に合わせたものであり、人道的であるとしか言いようがありません。ここでプログラムを再度送信し、時間と頻度のパラメータを変更するだけで、これらのハッカー IP を 100% 捕捉できました。2 日間テストし、主にトルコからの 62 個の新しい IP を捕捉しました。

IP 攻撃対策コード Web サイト ver2.0:

コードをコピー コードは次のとおりです:

/*
*IP 攻撃対策コード Web サイト 2010 -11-20,Ver2.0
*Mydalle .com アンチリフレッシュ メカニズム
*www.mydalle.com による設計
*/
//クエリ禁止 IP
$ip =$_SERVER['REMOTE_ADDR' ];
$fileht=".htaccess2";
if(!file_exists($fileht))file_put_contents($fileht,"");
$filehtarr=@file($fileht);
if(in_array($ip." rn",$filehtarr))die("警告:"."
"."あなたの IP アドレスは Mydalle.com アンチリフレッシュ メカニズムによって禁止されています。ご質問がある場合は、shop@mydalle.com までお問い合わせください。
(Mydalle.com アンチリフレッシュ!このメカニズムは、ユーザーが良好な配送サービスを利用できるようにすることを目的としていますが、IP アドレスに避けられないネットワークの問題がある可能性があるため、解決するにはメールでご連絡ください。)");


//禁止された IP を追加
$time= time();
$fileforbid="log/forbidchk.dat";

if(file_exists($fileforbid))
{ if($time-filemtime($fileforbid)>30)unlink($fileforbid); {
$fileforbidarr=@file($fileforbid);
if($ip==substr($fileforbidarr[0],0,strlen($ip)))
{
if($time-substr($fileforbidarr[1) ],0,strlen($time))>120)unlink($fileforbid);
elseif($fileforbidarr[2]>120){file_put_contents($fileht,$ ip."rn",FILE_APPEND);unlink( $fileforbid);}
else{$fileforbidarr[2]++;file_put_contents($fileforbid,$fileforbidarr);}
}
}
}

//アンチリフレッシュ
$str=""; "log/ipdate.dat";
if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777); ,"");
$allowTime = 60;//アンチリフレッシュ時間
$allowNum=5;//アンチリフレッシュ時間
$uri=$_SERVER['REQUEST_URI'];
$checkip=md5($ip) ;
$checkuri=md5($uri);
$ipdate=@file($file);
{$iptem=substr($) v,0,32);
$uritem=substr($v,64,10);
$numtem=substr($v,74); $time-$timetem<$allowTime){
if($iptem!=$checkip)$str.=$v;
else{
$yesno=false;
if($uritem! =$checkuri)$str.= $iptem.$checkuri.$time."1rn";
elseif($numtem<$allowNum)$str.=$iptem.$uritem.$timetem.($numtem+1).
if(!file_exists($fileforbid)){$addforbidarr=array($ip."rn",time()."rn",1);file_put_contents($fileforbid,$addforbidarr) ;}
file_put_contents("log/ forbided_ip.log",$ip."--".date("Y-m-d H:i:s",time())."--".$uri."rn",FILE_APPEND );
$timepass=$timetem+ $allowTime-$time;
die("警告:"."
"."頻繁に更新しないでください。続行するまで「.$timepass.」秒待ってください。そうでない場合は、IP アドレスが更新されません。 Mydalle.com のアンチリフレッシュ メカニズムによって自動的に禁止されています!
(Mydalle.com のアンチリフレッシュ メカニズムは、ユーザーが適切な配送サービスを受けられるようにするためのものですが、IP アドレスに避けられないネットワークの問題が存在する可能性があります。解決するにはメールでご連絡ください。)");
}
}
}
}
if($yesno) $str.=$checkip.$checkuri.$time."1rn";
file_put_contents($file,$str) ;
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/322743.html技術記事しかし、ここ数日で状況が突然悪化しました。次の図の 1 日の統計を参照してください。攻撃の数: 125.165.1.42。 --2010-11...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles