ホームページ > バックエンド開発 > PHPチュートリアル > PHP を使用して CC 攻撃を防ぐ方法

PHP を使用して CC 攻撃を防ぐ方法

WBOY
リリース: 2016-06-13 13:24:09
オリジナル
1061 人が閲覧しました

PHP を使用して CC 攻撃を防ぐ方法

攻撃者は、プロキシ サーバーを使用して、被害ホストに宛てられた正当なリクエストを生成し、DOS を実装し、cc (ChallengeCollapsar) と呼ばれるように偽装します。

CC 攻撃の原理は、攻撃者が一部のホストを制御して、他のサーバーに大量のデータ パケットを継続的に送信し、サーバーのリソースを枯渇させ、サーバーがクラッシュするというものです。 CC は主に Web ページを攻撃するために使用されます。多くの人が Web ページにアクセスすると、CC が複数のユーザー (ユーザーの数と同数のスレッド) を継続的に開くと時間がかかります。大量のデータ操作 (つまり、大量の CPU 時間) を必要とするページにアクセスすると、CPU が長時間 100% になり、ネットワークが終了するまで処理できない接続が常に発生します。混雑しており、通常のアクセスが停止されます。

いわゆる CC 攻撃とは、相手がプログラムまたは一部のエージェントを使用してあなたの Web サイトに継続的にアクセスし、Web サイトが処理不能になりクラッシュした状態にさせることです。現時点では、統計システム (おそらく Quantum、Baidu など) は当然ながらカウントできません。ただし、攻撃対策ソフトウェアを使用してこれを実現することはできますが、その効果が明らかではない場合があります。以下では、Long Minghong が特定の反 CC 効果を持つ可能性がある PHP コードの一部を提供しています。

特に仮想ホストを使用しているユーザーの場合、CPU が過負荷になると、「サービスを実行できません」というプロンプトが表示されます。過負荷には、不合理な Web ページ構造、過剰なトラフィックなど、さまざまな要因が関係します。もう 1 つの悪意のある要因が現れる可能性があります。それは CC 攻撃です。

主な機能: 3 秒以内にページを 5 回以上更新すると、このマシン http://127.0.0.1

がポイントされます。


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

$P_S_T = $t_array[0] + $t_array[1]
$タイムスタンプ = 時間();
セッション開始();
$ll_nowtime = $タイムスタンプ
if (session_is_registered('ll_lasttime')){
$ll_lasttime = $_SESSION['ll_lasttime']
$ll_times = $_SESSION['ll_times'] + 1; $_SESSION['ll_times'] = $ll_times; }その他{
$ll_lasttime = $ll_nowtime
$ll_times = 1; $_SESSION['ll_times'] = $ll_times; $_SESSION['ll_lasttime'] = $ll_lasttime
}
if (($ll_nowtime - $ll_lasttime) if ($ll_times>=5){
header(sprintf("場所: %s",'http://127.0.0.1')); 終了
}
}その他{
$ll_times = 0; $_SESSION['ll_lasttime'] = $ll_nowtime
$_SESSION['ll_times'] = $ll_times;



3 は時間間隔を表し、5 は更新数を表します

上記のコードを各 PHP ファイルのインクルード ファイルに配置することで、各ページの CC を防ぐことができます。内部のパラメータも状況に応じて設定できます。


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