2005年01月24日

コメントスパム対策-Referer制限

メイン > PC・Web関連 Movable Type メモ

MT-Blacklistが古いエントリーのコメントは保留にしてくれているおかげで、表には出ないのですが、毎日いくつかスパムがやってきます。一時のように嵐というほどではないのですが、お知らせメールがたくさん来るのがうっとうしい。何とかしたいなあと思っていたとき、趣味に合う(?)カスタマイズ法が紹介されていたので、早速やってみました。

のまのしわざ: ちまちまと手入れ

近いうちに.htaccessか、mt-comments.cgiのどちらでもいいのですが referrer制限をかけようと思っています。

なるほど、ということで、.htaccess でやってみました。

mt-comment.cgi のあるディレクトリにこんな .htaccess のファイルをおきます。

<Files mt-comment.cgi>
SetEnvIf Referer "^http://www\.studio-fu\.com" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
</Files>

基本的には画像の直リンク防止に使われる手ですね。<Files ファイル名>~</Files>で囲んだ設定の有効範囲は、ファイル名のものに限られます。とにかくアクセス禁止、だけどrefererが自サイトだったらOK。要するに、コメントするときは、自分のサイトのどこかからリンクしてきた状態でコメントcgiにアクセスするだろうから、そうじゃないとき(スパマーは直リン?)は却下!というわけです。

が、この方法が一般化したら、簡単に破られそうです。だって、スパムコメントするサイトのドメインを偽装すればいいんですから。ばれてますよね(笑)。でも、しばらくは落ち着きそうです。

参考にしたのは以下のサイトです。

.htaccessで参照元(Referer)によるアクセス制限する方法
ミケネコの htaccess リファレンス

ミケネコ研究所はよくお世話になっていたのですが、管理人さんがなくなっていたとは・・・。ご冥福をお祈りします。また、その後のサイト再開・運営を支えている関係者のみなさんに感謝申し上げます。

mt-comment.cgi での方法は、以下の通りです。
BLOG質問箱: スパムコメント対策

HTTP_REFERERが自サイトでない場合はエラー。これだけでもSMAPはなくなりました。
mt-comments.cgiの一発目に
if ($ENV{'HTTP_REFERER'} !~ /\Q(ドメイン)\E/ ){ (エラー処理); exit; }
これだけです。

Trackback on "コメントスパム対策-Referer制限"

このエントリーのトラックバックURL: 

"コメントスパム対策-Referer制限"へのトラックバックはまだありません。

Comment on "コメントスパム対策-Referer制限"

"コメントスパム対策-Referer制限"へのコメントはまだありません。

Post a Comment

コメントする
(HTMLタグは使用できません)
ブラウザに投稿者情報を登録しますか?(Cookieを使用します。次回書き込み時に便利です。)
  •  
  •