ウェブデザインとプログラムのナインマイルズ

s9yドキュメント

スパムプロテクタプラグインによるスパム排除

  1. このセクションのオリジナルドキュメント
  2. ..(ユーザードキュメント)
  3. このプラグインはどんなもの
  4. プラグインの設定
  5. 他に何か?
  6. コメント承認パネルからスパムを適応する
  7. 質問?

このプラグインはどんなもの

Serendipityにはスパムプロテクターという名のイベントプラグインが標準搭載されており、これでブログのスパムと戦います。

このプラグインはSerendipityインストール時に標準でインストールされます。 管理スイートの中のプラグイン設定メニューに行くとこれの設定が見つかりますので、イベントプラグイン一覧からスパムプロテクターをクリックしてください。

スパムプロテクターはブログに投稿されたコメントとトラックバックをそれぞれチェックします。 API (wfwComment, Trackback) によって作られたものも、あなたのブログから(拡張エントリやコメントポップアップ)によるものもチェックします。

各コメントはさまざまな設定可能機能を通して分析されます。 設定済みオプションのひとつがコメントをスパムと判断したら、承認待ちまたは拒否の状態にセットします。
承認待ちのコメントは管理スイートのコメント欄に表示されるので、そこでコメントを削除するか承認済みコメントとしてブログに表示させるか決めることができます。
設定次第で、承認待ちのコメントについてのメールを受け取ることもできます。

ブログをスパムから理想的に守るために、たくさんの個性的なオプションがあります。
次のセクションでは、あなたが学ぶべき設定を挙げています。

プラグインの設定

緊急時のコメント遮断

この設定を有効にすると、あなたのブログに対する全てのコメントとトラックバックが無効になります。 誰もコメントを残すことができません。 あたかも、あなたのエントリ全てで「このエントリへのコメントを許可する」のチェックボックスをはずしたのと同じような状態になります。

この設定は、あなたが休暇などで不在の際、ブログにスパムが現れないようにしたい時に使えばいいでしょう。

著者のスパムブロックを無効にする

ユーザー登録されたログイン中の著者に対してアンチスパム機能を無視します。 ここではどのユーザーグループがこの機能を回避できるかを選択できます。
全ての著者は、登録されている著者全員がアンチスパムプロテクターに影響を受けませんが、管理者だけが回避できるように明示的に指定することもできます。
なしにすると、著者も匿名のコメントと同様に取り扱われます。

複製コメントを許可しない

有効にすると、データベースに既にあるコメントと同じ内容のコメントは拒否します。 この設定は同一内容で送られる大量スパムを防ぐのに非常に役立ちます。

エントリの題名のみを含むコメントを拒否する

時にコメントスパムはあなたのエントリタイトルとそっくりそのままの内容を使ってきます。 この設定を有効にすれば、このようなスパムは拒否します。

IPブロックの間隔

この設定は指定された一定の時間内に同じIPアドレスから送られるコメントを禁止します。
ユーザーがプロクシを利用している場合は、同じIPアドレスでも異なったユーザーかもしれないことをご承知願います。 例えばAOLユーザーの場合、よく同じプロクシの利用を強制されるので、他のAOLユーザーが同時刻にあなたのブログにコメントした場合に問題に出くわすかもしれません。
短いコメントに対してもそうですが、この設定は集団攻撃を防ぐために役立ちます。

Captchaを有効にする

Captchaは今のところ、コメントスパムを防ぐことができる最良のチェック方法です。 Captchaは人間のユーザーが投稿しているのかどうかを検査します。 Serendipityにおいてこれは、コメントしているユーザーが暗号化された画像を見て、そこに書かれている文字を入力する必要があることを指します。 今でもスパムボットはこの作業を行うことができません。

Captchaには次の3つの大きな問題があります。

  1. 時々本当の人間でも読み取れないことがあり、人々をイラっとさせます。 Captchaは障碍のあるユーザーには非常に読みづらく、目の見えないユーザーには利用不可能です。
  2. Captchaは時間をかければクラック可能なので、対スパムのためにより強力なCaptchaにするか、別のアプローチが必要かもしれません。 既に、他の方法のCaptchaをクラック可能な様々なアルゴリズムが存在しています。
  3. Captchaはコメントにのみ有効です。
    トラックバックはコンピュータで生成されることに決まっているので、確認のためにCaptchaを使うことは不可能です。 これは、あなたのユーザに対して有効にしたcaptchaがほとんど全てのコメント・スパムは妨ぐことができますが、トラックバックはいまだ別の手段でしかブロックできないということです。

スクランブルされたCaptchaオプションはより強力なCaptchaを実現します。 Captcha内のピクセルを変化させ散らばらせ、自動巡回のスパムボットにとってさらに読みづらいものにします。

何日経過したらCaptchaを強制するか

この設定で、あなたの記事にCaptchaが有効とされるまでの日数を入力できます。 通常、スパムボットがあなたの新しい記事を見つけるまでに数日かかるので、ブログの最新の記事はスパムには会いづらいことになります。 通常のコメントは記事を投稿した後の短期間でつくので、記事が書かれてから例えば7日経ったらCaptchaを有効にするのは良い手です。 また、これだったら新記事にコメントしてくれるユーザーをイラつかせることはないでしょうし、後からやってきたスパムボットを叩き落とすことができます。

Captchaの背景色

自動生成されるCaptcha画像の背景色を変更できます。

何日経過したらコメントのモデレートを強制するか

ここで、各記事に対するコメントとトラックバックへのモデレートを有効にできます。
あなたの記事に承認が必要とされるまでの日数を入力してください。

自動モデレート時のコメントの取り扱い

上記設定で自動モデレートされた記事をどう扱うかを設定できます。 拒否されたコメントは一切保存されず、承認待ちのコメントは、後で削除するか表示させるか切り替えることができます。
承認待ちのコメントについてのメールだけは受け取ることができますが、拒否されたコメントについての通知はされません。

何日経過したらトラックバックのモデレートを強制するか

通常のコメントモデレートとの違いとして、古いエントリへのトラックバックだけをブロックできます。 この方法で(Captcha認証済みの)通常のコメントは承認されますが、トラックバックは通常却下されます。

自動モデレート時のトラックバックの取り扱い

自動モデレート時のコメントと同様、自動モデレートされたトラックバックをどう扱うかを決めます。

APIによって作られたコメントの取り扱い

APIで生成された全てのコメント(Trackbacks, wfwComment) をどう扱うかを指定できます。 それら全てをモデレートするか拒否するか、もしくはなしにすることで、それらを一括で取り扱うことができます。

トラックバックのURLを確認

この設定はトラックバックに含まれるURLを呼び出し、彼らが言及するあなたのエントリーのURLが本当にそれらのページに現れるかどうかを確認します。
このオプションは、トラックバックスパムをかなり減少させることができますが、また、あなたのサーバから外部サーバへのURL要求を実行するので、時間とトラフィックがかかります。

コメントに含まれるリンク(http://...)の最大許可数を指定します。
数を超えたコメントは自動モデレートされます。

いくつ以上のリンクでコメントを拒否する

コメントに含まれるリンク(http://...)の最大許可数を指定します。
数を超えたコメントは拒否されます。

単語フィルターを有効にする

URLと投稿者とコメント本文に単語フィルターを適用します。
モデレートを選択した場合、フィルターに合致した単語を含む全てのコメントとトラックバックが承認待ち状態になります。
拒否にした場合、それらは完全に拒否され、あなたへの通知は一切行われません。

URL、著者名、コメント本文の単語フィルタ

これらの大き目のテキストエリアでは、正規表現が許可されており、セミコロン(;)で文字列を区切っていくつも入力できます。 「casino」「phentermine」などのような言葉をブロックしたいのなら、単にその単語を入力するだけです。
ただ、正規表現を使えばもっと広い範囲のフィルタリングが可能になります。 正規表現について詳しく知りたければここを見てください:http://ja.wikipedia.org/wiki/正規表現(訳者注:本家ではhttp://en.wikipedia.org/wiki/Regular_expressionへのリンク)

正規表現において最も重要なルールは、いくつかの特別な文字があるということです。
「.」はあらゆる文字を示し、「.*」はあらゆる文字が任意の数あることを示します。

単語フィルターの各ルールを「;」と改行で区切ることができますので、 自分が読みやすいようにしてください。

blogg.deのブラックリストによるURLフィルタリングを有効にする

blogg.deのブラックリストには、スパムボットがそれらのホームページとしている悪いURLのリストが含まれています。 blogg.deのブラックリストはよくメンテナンスされていて、悪いURLはかなり早く捕らえます。blogg.deブラックリストで悪いとしてマークされるこれらのコメントをモデレートするか、またはすぐにそれらを拒否するかを決めることができます。

AkismetのAPIキー

Akismet.comはアンチスパムとブラックリストの主要なサーバです。 あなたのところに来たコメントを分析して、そのコメントがスパムとして記載されているかどうかチェックできます。 Akismetは本来Word Pressのために開発されましたが、他のシステムでも使用できます。
利用するにはhttp://www.wordpress.com/でアカウントを発行してもらい、http://www.akismet.com/から発行されるAPIキーが必要となります。
APIキーが空のままだとAkismetは機能しません。

Akismetで定義されているスパムをどう扱うか

Akismetがスパムとして報告しているコメントとトラックバックをどう扱うかをここで設定します。

コメントしたユーザのメールアドレスを隠す

この設定を有効にすると、ブログにコメントしたユーザーのメールアドレスは表示されなくなります。

メールアドレスを確認する

「はい」にするとEメールアドレスが正しい構文かどうかをチェックします。
これによりEメールアドレスが空のまま、または不正なものの投稿を防ぎます。

どのコメント項目を必須とするか

ここではコメントフォームでユーザーが入力しなければいけない項目を入力できます。
これで、例えばEメールアドレスを必須項目にすることができます。

ログの記録方法

スパムブロックにおける最も重要なことは、ブロックする対象を確認することです。 承認待ちのスパムについてのEメールだけを受け取ることができるので、毎日どのようなスパムが拒否されているのかを確認したいかもしれません。 そのためにはこの設定を有効にし、ログをデータベースに保存するかファイルに保存するかを決めることができます。
お勧めの方法はデータベースによるログ取りです。 phpMyAdminのようなツールを使えば、データベースのserendipity_spamblocklogテーブルを簡単に確認できるからです。
そこで、拒否された理由がわかります!

ログファイルの場所

もしログをファイルに保存するように選択した(おそらくあなたにとってデータベースの確認は面倒なのでしょう)場合、ログファイルが作られる場所をここで指定する必要があります。 必ず、ログファイルの絶対パスを入力し、ウェブサーバがこのファイルに書き込みできるようにしてください。

他に何か?

スパムはほぼ毎日見つかるので、スパムを低頻度にする最良の方法は、単語フィルタ・URLフィルタ・著者名フィルタを随時チェックし、よくあるURLや投稿者名をあなたのブラックリストに追加することです。

コメント承認パネルからスパムを適応する

コメントモデレートパネルでは、その最上部のAnti-Spam 方法の設定ですぐに設定ができます。

また著者名とURLの横にレンチの形をしたアイコンがありますが、 これはスパム著者とURLを自動的に単語フィルタに登録するものです。

質問?

スパムブロックについてさらに質問があったり、スパム対策のもっと良いアイディアがあるのでしたら、ぜひ我々のフォーラムに投稿してください!

Serendipity