IPスパムフィルターを MovableType で使う方法!
2005/12/24 Sat 16:59
ご利用頂く方法を簡単に説明します
一応、Movable Type 3.2-ja でのご利用を前提にしておりますが、他のバージョンでももちろんご利用可能です。
※緊急の連絡!(2006年06月02日)
さくら様のご指摘で、MTのコメントスパム対策の為の修正コードの一部が間違っていて、まともに動いていなかったことが判明しましたm(_ _)m
単に0と1とを間違えたという、初歩的な間違いで...こちらの説明は修正させていただきましたが、すでにお使いの方が居られましたら、ご迷惑をおかけ致しますがコード修正をお願い致します〜m(_ _)m
詳細は下記をご覧くださいませ...(^^;)
http://www.j-pca.com/patio/index.cgi?mode=view&no=83
それでは...続きをご覧くださいませ...
一応、Movable Type 3.2-ja でのご利用を前提にしておりますが、他のバージョンでももちろんご利用可能です。
※緊急の連絡!(2006年06月02日)
さくら様のご指摘で、MTのコメントスパム対策の為の修正コードの一部が間違っていて、まともに動いていなかったことが判明しましたm(_ _)m
単に0と1とを間違えたという、初歩的な間違いで...こちらの説明は修正させていただきましたが、すでにお使いの方が居られましたら、ご迷惑をおかけ致しますがコード修正をお願い致します〜m(_ _)m
詳細は下記をご覧くださいませ...(^^;)
http://www.j-pca.com/patio/index.cgi?mode=view&no=83
それでは...続きをご覧くださいませ...
実際の動作状況は下記をご確認ください
http://www.j-pca.com/spam/
◆ インストールは下記のステップで進めます
1.ダウンロード
2.パスワード、文字コードの設定
3.アップロード
4.修正前の動作確認
5.コメントスパム対策
6.トラックバック対策
7.修正後の動作確認
1.ダウンロード
まずはIPスパムフィルターをダウンロードしてください
http://www.j-pca.com./blog/page/IPFilterPulsSet_mod.zip
そしてダウンロードしたファイルを適当なフォルダに展開してください。
2.パスワード・文字コードの設定
アップロードする前にいくつか設定していたほうがいい事があるのでここで設定してしまいましょう。
ダウンロードしたファイルを展開すると、中に「 ipcheck 」というフォルダがあります。
このフォルダの中の「 list.cgi 」「 settei.cgi 」 というファイルがあります。このファイルをメモ帳などで開いて以下の箇所を修正します。
1行目に
#!/usr/bin/perl
という部分がありますが、まずこれを、プロバイダで定められたPerlへのパスを指定してください。
続いてパスワードを指定します
$pass = ''; という部分がありますのでここに自分好みのパスワードを指定してください。
たとえば「 hogehoge 」 というパスワードを指定したければ
$pass = 'hogehoge';
としてください
$moji = ''; と言う部分がありますので MT で使われている文字コード[UTF-8]を指定してください。
$moji = 'UTF-8';
のように設定してください。
もう一つ忘れてはいけないのが、「ipchk.cgi」です。IP_Base.pm と同じカレントフォルダにあると思いますので
1行目に
#!/usr/bin/perl
という部分がありますのでこれも、プロバイダで定められたPerlへのパスに修正しておいてくださいね
3.アップロード
ファイルの修正が完了したら、アップロードを行います。
全体のディレクトリ構成とファイル位置は以下のとおりです。(かっこ内はパーミッションの設定値)
| 【ディレクトリ構成例】 blog / (ブログのカレントディレクトリ) ├ mt.cgi ├ ipchk.cgi [755] ├─ ipcheck / [755] │ ├ list.cgi [755] │ ├ settei.cgi [755] │ └ 他のファイル [666] ├─ lib / │ ├ MT.pm │ ├ IP_Base.pm [644] │ ├─ MT / │ │ └ App / │ │ ├ Comments.pm [644] (5で修正!) │ │ └ Trackback.pm [644] (6で修正!) │ ├─ Template / |
ipchk.cgi を MT の カレントフォルダ(mt.cgiが入っているフォルダ)にコピーします。
MT の カレントフォルダ(mt.cgi があるフォルダ)に ipcheckフォルダを丸ごとコピーします。
IP_Base.pm を lib フォルダ(TM.pmが入っているフォルダ)にコピーします。
パーミッションは上記の通りに設定してください
4.修正前の動作確認
この段階では、単にファイルをコピーしただけで、本体のプログラムは何もさわっていません。
ですから、ここでの動作確認でエラーがでたとしては本体には何ら影響を及ぼしてはいないので、焦らずにゆっくりと原因の追及ができます。
方法ですが、ブログのカレントディレクトリにコピーして頂いた「 ipchk.cgi 」をブラウザで呼び出していただけばOKです。
参照 >> http://www.j-pca.com/mt/ipchk.cgi
上記のように全てのチェック項目が「OK!」になっていれば大丈夫!プログラムをちょこっと修正して頂くだけでお使い頂けます
もしもどこかOK以外の表示がでた場合は、指示に従って修正してくださいね。
ファイル属性(パーミッション)は私もよく間違えたりします(^-^)
どうしても、全ての項目が「OK!」にならない場合は、状況をサポートコーナーで聞いて頂けますと、何らかのアドバイスはさせて頂けるのではないかと思います。
IPスパムフィルターのサポートコーナー
もう一度言いますが、ここでエラーがでても、本体の動作には全く影響はございませんので、ゆっくりと対策を考えられます(^0^)
これで準備は完了です。続きましてコメントスパム、トラックバックスパムの対策を行います。
5.コメントスパム対策
この修正を行う場合は、万が一失敗したときに、すぐに元に戻せるように必ずバックアップをとってから行うようにしてくださいね。
lib/MT/App/Comments.pm にちょこっと修正を加えます
20行目あたりに
use MT::JunkFilter qw(:constants);
use IP_Base;
my $COMMENTER_COOKIE_NAME = "tk_commenter";
青字の部分を追加して使用を宣言をしてください
そして212行あたりを見てください。下記のような部分があるはずです
上記の部分を下記のようにチェック部分を書き加えます
意味は コメントにメールアドレスが書き込まれていれば、「 add_allow.cgi 」に書き込まれているアドレスリストと照合して登録されていなければIPアドレスチェックを行うというものです。
ということで、常連さんや貴方のアドレスを登録しておくと、その登録されたメールアドレスを入力することのより、海外からでもコメントを登録することが可能になります。
登録するしないは自由ですので、とりあえず上記のようにしておけば、後々、いざというときに海外から使えます(^^;)
海外のスパマーが無差別に送りつけてくる英語だけのスパム書き込をチェックするコードをつけていますが、不要でしたら消していただけばいいです。
6.トラックバックスパム対策
この修正を行う場合は、万が一失敗したときに、すぐに元に戻せるように必ずバックアップをとってから行うようにしてくださいね。
lib/MT/App/Trackback.pm にちょこっと修正を加えます
20行目あたりに
@MT::App::Trackback::ISA = qw( MT::App );
use IP_Base;
青字の部分を追加して使用を宣言をしてください
そして171行あたりを見てください。下記のような部分があるはずです
上記の部分を下記のようにチェック部分を書き加えます。
意味は トラックバックのリンク先が、「 url_allow.cgi 」 に書き込まれているリンク先と照合して、登録されていなければ普通にIPアドレスチェックを行いますが、登録されている場合は怪しいホスト名チェックを省略するようになります。
海外からのトラックバックについてはたとえリストに登録されていても許可にはなりません。
ということで、万が一、本来受け付けなければならないトラックバックを拒否したような場合にはドメイン名を登録しておけばトラックバックを受け付けるようになります。
登録するしないは自由ですので、とりあえず上記のようにしておけば、後々、いざというときに url_allow.cgi にデータを登録すればいいのでとりあえずは上記のようにしておけばいいでしょう(^^;)
海外のスパマーが無差別に送りつけてくる英語だけのスパム書き込をチェックするコードをつけていますが、不要でしたら消していただけばいいです。
これがとりあえずの使い方になります。別に細かく設定しなくても、とりあえず上記の設定だけでそれなりには動きます。
6.修正後の動作確認
一通りの設定が終わりましたら、ちゃんと動作しているかどうかを確認するために、ご自身で、コメントを書き込んでみてくださいね。ついでにトラックバックもテストしていただきたいのですが、テストする環境が無い場合はご一報頂けましたら、こちらから試しにトラックバックを投げさせて頂きま〜す(^^;)
どうも、ちゃんと動いていないと言う場合には、バックアップしておいたファイルを書き戻して、とりあえずブログを稼働させて、対策を練るようにしましょう。で、どうしてもわからないときは
IPスパムフィルターのサポートコーナー
で、お気軽に質問してくださいね(^0^)
動作が確認できましたら、動作チェックに使った「ipchk.cgi」は不要ですので、ファイルを削除していただくか、パーミッションを600とかの実行権限の無いものに変更しておいてください。
重要
MT3.2のSpamLookup - Lookups 「トラックバックのチェック」を有効にするとLivedoorなど一部のブログサイトからのトラックバックを受け付けなくなります。IPスパムフィルターを導入して頂くと、トラックバックスパムの心配はほぼ無くなりますので、SpamLookup - Lookups 「トラックバックのチェック」を安心して「設定しない」にしておいてくださいませ。
comments
私はapacheのモジュール(mod_security)でスパム対策しています。
CGIが動作する前にApacheの入り口で、スパムをはじきますので、サーバの負荷が激減しますよ。
Apacheをいじれる環境の方にはお奨めです。
スパムに悩まされており、設定させていただきました。
もしよろしければ、
トラックバックのテストの為、
ひとつ投げていただけないでしょうか?
お忙しいとは存じますが、よろしくお願いします。