[Tep-j-general] 集中爆撃に一定確率で503を返す

Zurück zum Archiv-Index

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;

}




Tep-j-general メーリングリストの案内
Zurück zum Archiv-Index