2005年1月24日

.htaccessでコメントスパム対策

以前サーバの管理者さんに怒られたこともあり、
本腰を入れてコメントスパムへの対策を講じてみる。
この際「スパムコメントが投稿されない」ことが目的ではない。
(↑は承認式にしたり、ひらがな必須の改造でほぼ達成)
mt-comments.cgiによる負荷自体を抑えることを目的とする。

まず、mt-comments.cgiのリネーム。
検索エンジンで拾われると一番に攻撃対象となるため、
mt.cfgのCommentScript項目を変更、リネームしておく。

しかしながらこれはやや時代遅れ。
HTMLのform actionを拾われると元も子もないし、
最近のスパマーはこれに対応したツールを使用するらしい。

そこで.htaccessによるアクセス制限。
IPアドレスやhost名ではじくのもいいけど、数が多くなる。
数が多くなれば.htaccessの走査に時間がかかるため無意味。
ここはリファラー(リンク元)ではじくのが現実的と思われる。

<Files mt-comments.cgi>
SetEnvIf Referer "^http://lab\.jubako\.com" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
</Files>


↑http://lab.jubako.com で始まる場所からの呼び出しに限定、
 それ以外のアクセスは拒否する(403を返す)、という意味。

どれほど効果があるかは…不明(^^;
リファラを偽装されたら通過してしまうわけだし、
サイトごとにリファラを偽装して投稿するツールもあるだろう。
まあ「負荷を抑える手段の1つ」として使うのが吉かと。

こんな大っぴらに書くと意味ないやん、という気もするけど、
今のところ問題なのは海外からのスパムだと思うし…

あとNorton Internet Securityを使ってる人だと、
リファラを通知しないから、投稿できないこともある。
そんなのは知りません、自分でどうにかして下さい(笑)
コメント欄にその旨付記しておくのがいいのかな。

<現在のこのBLOGのコメントスパム対策>
・mt-comments.cgiのリネーム
・.htaccessによるリファラ制限
・一定数のひらがな必須
・コメント事前承認設定

0 コメント:

コメントを投稿