日記+コメント付きブックマーク+他人にも役に立つかもしれない情報など。
(更新情報: RSS(ツッコミ付き) / RSS(ツッコミ抜き) / LIRS)
- p (01/03)
- Thiramil (10/26)
- 久々にいまむらを食べたい通りすがり (09/28)
- Fluxadir (05/16)
- Antiprestin (11/08)
2004/12/18
_ [日記/blog] Referer SPAM による tDiary への DoS 攻撃を回避する (2)
昨日の設定では、これまで蓄積されてきた SPAM URL をベタに1行1行 SetEnvIf 行に展開して対応した。
これは、シンプルな対処方法ではあるが、
- ブラックリストの増加に比例して重くなる (特に .htaccess で設定した場合に顕著)
- 未知の SPAM に対しては全く無力である
という欠点があり、長期的に利用するには少々問題がある。ということで、SetEnvIf ディレクティブの最適化を行った。
複数の Referer SPAM で共通して含まれている単語を抽出すると、ある程度の URL は1行の正規表現に集約して表現することができる。とは言っても、そういった枠に収まらない SPAM も少なからず残ってしまうので、それらだけは昨日と同様にベタな形で追記する。
…というアプローチで改善した定義がこれだ。 昨日のベタな定義に比べると、行数は427→64、ファイルサイズは32KB→4KBにまとまっている。(単語の前後に [.-] を付けているのは、他の真っ当な単語の一部に含まれていて誤認識されてしまうケースを避けるため。)
ということで、昨日同様に性能テストを行った結果は、以下の通り。(ApacheBench による http://pmakino.jp/tdiary/antenna.lirs へのリクエスト処理時間比較)
Requests per second | 未設定時との対比 | |
---|---|---|
未設定 | 600.07 | 100% |
httpd.conf で設定 (64行に集約) | 560.92 | 93.48% |
httpd.conf で設定 (427行ベタ書き) | 522.80 | 87.12% |
.htaccess で設定 (64行に集約) | 302.90 | 50.48% |
.htaccess で設定 (427行ベタ書き) | 83.65 | 13.94% |
特に .htaccess で設定した場合の改善が著しい。
というわけで、当面これで運用していってみよう。
tDiary の負荷対策ということで、mod_rewrite と組み合わせて効率的なキャッシュを作っている例があったので参考リンク → 負荷対策:静的 HTML 化@tmaeda 日記
「Anti Referer Spam プラグイン ver 1.0@紅玉日記」と「httpd.conf/.htaccess による Apache レベルでの Referer SPAM 対策の改善」へ続く。
_ [日記/blog] Mixipress をデバッグ
「Mixipress」の続き。
Mixipress 0.30 を導入してみたはいいが、先日書いた通り、件名をちゃんとエスケープしてくれなく、出力が正しい XML 整形式になっていないために、RSS リーダーによって正常に読めたり読めなかったりという状態が発生していたので、修正しますた。
Mixipress 0.30 の出力を正しくエスケープするパッチ
patch feed.cgi mixipress-0.30-to-0.31.diff で。
これで Miech でも読めるようになった。
(12/21追記: 本家配布ファイルに統合していただけました)
_ [システム運用] Windows XP および Windows Server 2003 でクライアント側の DNS キャッシュを無効にする方法@Microsoft
memo
_ [物欲] Plextor DVD+R DL 対応マダー?
PX-716A (または OEM の DVM-DM16FBS) の DL 対応ファームウェアマダー?