英語だらけのスパムを何とかしたい
質問
ゲストにコメントやコンテンツの投稿を許可しておくと、英文とリンクしかないスパム投稿がたくさんついてしまいます(T.T)
何か対策はないでしょうか?
・・・って、どこにでもありそうな質問ですが(^_^;)
解答
苦労をいとわないのであれば、ついたスパムは削除しまくるのが一番です(^_^;)
もしくは、モデレーションを有効にして、管理者が内容を確認した後で公開扱いにするのも方法のひとつですね。
ただし、前者は、短時間とはいえ、スパムメッセージが公開されてしまうというデメリットが、後者は内容を確認して公開扱いにするまでメッセージを見ることができないというデメリットがあります。
spamモジュール
Spam | drupal.org を導入することでスパム判定したコンテンツ・コメントなどを非公開扱いにすることができます。
あらゆるコンテンツタイプや、コメントを対象にすることができ、トラックバックも対象にできます。
そこそこ効果はあるようですが日本語のサイトにおいて、日本語を使わないモノはすべてスパムだ!という割り切りをするのであれば、スパムモジュールのカスタムフィルタに/^[^ぁ-ヶ]*$/uを登録して、条件にマッチする場合は全てスパム!と言う扱いにでもすればより効果的かもしれません。
この場合は、日本語のぁからヶが含まれない投稿の場合は全てスパム扱いとなります。
とあるサイトで実際にあった話ですが、ユーザー登録をして、ユーザープロフィールなどにスパム文章を記述していく輩がいたそうです。
こういった輩にはスパムモジュールでは対処できません。
そこで、Captchaモジュール
captcha | drupal.orgを併用して、ユーザー登録フォームにキャプチャ認証を設けるのが効果的です。
Captchaモジュールはランダムに作成される計算式の答えを入力させてスクリプト処理されているスパムを排除しようというモジュールです。コメントや、コンテンツの投稿などの時にも認証させるようにもできますので入り口はCaptchaモジュールで、出口はスパムモジュールでガードするという組み合わせが効果的だと思います。
キャプチャ認証にはtextimage
textimage | drupal.orgという、ノイズを載せた画像を作成して、そこに描かれた文字を入力させるという関連モジュールもあります。
日本語が入力できないユーザーはすべてスパムである・・・という前提でCaptchaモジュールを改造したCaptchajpモジュールCaptchajpモジュール | Drupal.0829.infoや、Captcharモジュール(このサイト(^_^;)というのもあります。どちらも日本語もしくはマルチバイト文字列が入力できなければ認証を通すことができないモノになっています。
このサイトではスパムモジュールを入れてます。 このモジュールは、ベイジアンフィルタを ...
本日は3件のトラックバックスパムが捕捉されました。
スパムモジュールのカスタムフィルターは順調に成果を上げているようです。
IPとか公開しても、どうせ同じIPは使わないでしょうからね・・・。
スパムモジュールにカスタムフィルタを設定して運用してみていましたが、本日(2007/06/18)の朝方、トラックバックスパムを捕捉しました(笑)
カスタムフィルタでは「通常スパム判定」で確率を50%増加させるようにしました。
通常のベイジアンフィルタでも40%の判定を出しているので50%増加しただけで90%スパムという判定をされるのでスパムとして捕捉されたようです。
そう言えば、改造モジュールを公開しておいてなんですが、ここではCaptchaモジュールを2.xにしてrandquestモジュールを入れてないなぁ(笑)
ログを見るとログインフォームをやたらと呼び出しているアクセスがあるのだが、ユーザー登録スパムだろうか?
ま、こっちはCaptchaで捕捉されているものと思われるけど(^-^;△フキフキ