hamada
bungu****@leo*****
2008年 2月 8日 (金) 11:58:20 JST
こんにちは。 http://lists.sourceforge.jp/mailman/archives/tep-j-general/2007-October/018545.html の続きです。 先日当方は実際に集中爆撃を食らい、Load Averageが3を越えるような状態が暫 く続いて涙目でしたので、自動防御の対策を講じることにしました。 今回はサーバの状態とか見ず 「同ipからのセッションが30を超えたら1/2の確率で503」 というアルゴリズムなのでDDoS攻撃には無力ですが、集中爆撃型のクローラーや プロキシにはそれなりの効果を発揮すると思います。 「30」とか「1/2」とかの定数は当方が当方のサーバに基づいて適当に決めた値 ですので、実行環境に応じて適当に変更してください。 はまだ ----------- //集中爆撃対策 $ip_query = tep_db_query("SELECT ip_address FROM " . TABLE_WHOS_ONLINE . " WHERE ip_address = '" . getenv("REMOTE_ADDR") . "'"); if (tep_db_num_rows($ip_query) > 30 && rand(0,9) < 5) { header($_SERVER['SERVER_PROTOCOL'] . " 503 Service Temporary Unavailable"); exit; }