拙著「WordPress Web開発逆引きレシピ」が発売されました。
WordPressの様々なカスタマイズについて、逆引きの形式で取り上げています。
PHP 7.0での動作確認も行っています。
日本語でないスパムをフィルタするプラグイン(Movable Type 5用)
日本語でないスパムをフィルタするプラグイン(NotJapaneseLookup)を、Movable Type 5に対応させました。
1.スパムの判定基準
このプラグインでは、全角/ひらがな/句読点の文字が含まれているかどうかで、日本語のコメント/トラックバックであるかどうかを判断します。
これらの文字が指定した文字数以上含まれていれば、日本語(スパムではない)と判断します。
そうでなければスパムとみなします。
なお、スパムかどうかを判断する際には、以下の部分が検索の対象になります。
コメント | 投稿者名/メールアドレス/URL/コメントの本文 |
---|---|
トラックバック | ブログ名/送信元URL/トラックバックの概要 |
2.旧版の削除
以前からこのプラグインを使っていた方の場合、Movable Typeの「plugins」ディレクトリに、「NotJapaneseLookup.pl」というファイルがあるはずです。
そのファイルを削除してください。
3.インストール
以下のアドレスに接続して、プラグインのファイルをダウンロードします。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ファイルはZip形式で圧縮してあります。
解凍すると、「NotJapaneseLookup」というフォルダができますので、それを丸ごとMovable Typeの「plugins」フォルダにアップロードします。
4.設定
Movable Typeにログインし、個々のBlogのメニューを開いて、「設定」画面の「プラグイン」のタブを表示します。
すると、プラグイン一覧の中に「Not Japanese Lookup」がありますので、「設定を表示」のリンクをクリックして設定を開きます、スパムと判断する条件を設定します。
標準では、以下の画面のような設定になっています。
この場合、「全角文字を1文字以上含めば、日本語(スパムでない)とみなす」という設定になります。
全角文字を含み、かつひらがなや句読点を含むものだけを、日本語とみなすようにすることもできます。
例えば、「全角文字を5文字以上含み、かつひらがなを2文字以上と句読点を1文字以上含む場合は、日本語とみなす」というようにしたい場合、以下のように設定します。
設定項目 | 設定値 |
---|---|
「全角文字を」の欄 | 5 |
「ひらがなを」の欄 | 2 |
「句読点を」の欄 | 1 |
設定が終わったら、「変更を保存」のボタンをクリックします。
5.他のスパム対策プラグインとの兼ね合い
Movable Typeのスパム対策機能では、複数のスパム対策プラグインを組み合わせて、スパムかどうかを判断するようになっています。
個々のスパム対策プラグインは、コメントやトラックバックに「スコア」をつけます。
スパムとみなす場合は、通常はマイナスのスコアがつきます。
そうでない場合は、スコアは通常は0になります。
NotJapaneseLookupプラグインでは、日本語でないコメント/トラックバックには、標準では-1のスコアをつけます。
また、プラグインによっては、プラスのスコアをつけるものもあります。
例えば、Movable Type標準の「SpamLookup - Link」のプラグインでは、過去にコメント/トラックバックしたことがある人からのコメント/トラックバックには、標準では+1のスコアをつけるようになっています。
各プラグインのスコアが出たら、それらが平均されます。
そして、その平均値が「判断基準値」より低ければ、スパムとみなすようになっています。
判断基準値は、ブログ/ウェブサイトの「設定」→「コミュニケーション」コメント/トラックバック」メニューのページの、「スパム判断基準」の箇所で設定することができます。
標準ではこの値は0に設定されていますので、スコアの平均値が0より小さい場合は、スパムとみなされることになります。
このような仕組みのため、あるプラグインが判断基準値より小さいスコアをつけても、他のプラグインが判断基準値より大きいスコアをつけると、平均が判断基準値を越えて、スパムでないとみなされる場合があります。
例えば、プラグインAが-1のスコアをつけ、プラグインBが+2のスコアをつけると、平均は+0.5になります。
もし、判断基準値を0に設定していると、このコメント/トラックバックは、スパムでないと判断されることになります。
このような状況に備えて、NotJapaneseLookupプラグインでは、スコアのつけ方を設定することができます。
プラグインの設定の画面に、スコアを設定する欄があります。
前述したように、日本語でないコメント/トラックバックには、標準では-1のスコアをつけます。
もっと低いスコアをつけるように設定すれば、スコアの平均値が判断基準値を上回る可能性は低くなります。