Mollom は2018年4月2日から提供されなくなることが決定したので、利用しないでください。これからは reCAPTCHA の利用が勧められています。

こんにちは、大野です。ゴールデンウィークで滋賀に帰ってきました。帰ったついでに久しぶりにバイクに乗りましたが、やっぱりこの時期が一番ですね。寒すぎず暑すぎず本当に丁度良いです。

さて、皆さんはどんなスパム対策をされているでしょうか。Drupal で作られたサイトは世界的に見るとかなりの数があるため、残念ながらスパムボットも格好の標的となっています。スパム対策をしていない Drupal サイトはすぐにスパム被害にあってしまいますので、公のサイトであれば何らかのスパム対策は必須です。

Drupal のスパム対策用のモジュールとして有名なのは CAPTCHAHoneypot などがあげられますが、今回はスパム対策モジュールの中でもスパムの判定精度が高く、ユーザーの負担にならない Mollom と言うサービスとモジュールを紹介します。

Mollom は Drupal の創始者である Dries 氏が創設した Acquia 社が展開しているスパム対策サービスです。Mollom の仕組みは簡単で、第三者から何らかの情報をウェブサイト上に投稿する際に、その内容を一旦 Mollom のサーバーに送信して投稿された内容と送信者の IP アドレスを Mollom のデータベースと照らしあわせ、スパムかどうか判断するものです。スパムとして判断された投稿は未公開状態にしたり削除するなど、挙動は設定で変更することができます。スパム判断の精度がとても優秀で、弊社でも Mollom を導入してからスパムが投稿される事がほぼ無くなりました。Mollom は有償のサービスですが、1日に50件までの投稿(スパムを除く)であれば無料のプランで使用することができるため、一般的なコーポレートサイトやブログなら事足りると思います。

Mollom を利用するには API キーを取得して設定する必要があり、サービスの利用がやや難し目なので、今回は Drupal 初心者の型を対象に Mollom のサイトに登録する方法と Mollom モジュールのインストール方法を解説します。なお、今回は Drupal 7 をベースとした解説ですが、Drupal 8 にも対応した安定版の Mollom もリリースされています。

スパムの反対はハム!

先に Mollom で使用される用語について説明しておきます。私は調べるまでしらなかったのですが、Mollom 上ではスパムでは無い投稿を Ham (ハム)と言うそうです。これは食品の SPAM が Spiced Ham の略だとされていることから、スパイスが効いていないもの = 通常のハム(スパムじゃない投稿)と言うことみたいです。SPAM が一般的では無い日本人にはなんのこっちゃですね(笑)

Mollom に登録

Mollom のサイト にアクセスしてください。

プラン選択ページ

プランの変更は途中からできるので一先ずは Mollom Free のプランを選択しましょう。

ユーザー登録フォームが表示されるので必要な情報を入力します。

ユーザー登録フォーム

  • "Mollom may contact me via e-mail regarding products and services." は新製品やサービスの案内をメールで受け取るかの選択です。
  • "Send me a weekly summary of Mollom's performance on my sites" は Mollom のパフォーマンスをメールで通知してくれる選択です。

最後に Create new account ボタンを押してください。記入したメールアドレス宛に以下の様な確認用のメールが届きますので、そのリンクをクリックして Mollom のサイトへログインします。

Mollom からのメール

Mollom のログインページが表示されるので、Login ボタンを押しましょう。

Mollom ログインページ

アカウントの編集画面が表示されます。このタイミングでしかパスワード変更できないので、パスワードを必ず入力して Save ボタンを押してください。

Mollom ログインページ

サイト情報を登録する画面になります。Product details は先程設定した無料プランになっているはずなので、その下にある Site details 内の設定から解説します。

Primary site URL

Mollom を使用したいサイトの URL を入力します。まだ URL が決まっていない場合は取得予定の URL を入力してください。この URL は後で変更することができます。

Site type

サイトの使用用途に合わせて項目を選択します。

  • Personal site: 個人用サイト
  • Company site: 事業用サイト
  • Non-profit site: 非営利目的のサイト

This site is built or maintained for a customer

登録するサイトが顧客用のサイトであれば 「This site is built or maintained for a customer」にチェックを入れてください。

Expected languages

サイト上で使用される言語を設定します。全ての投稿が選択した言語に制限されます。この設定は Mollom のテキスト解析に使用されます。ユーザーが他の言語で投稿する可能性がある場合は未選択の状態にしてください。

Site software

サイトで使用するソフトウェアを選択します。Mollom は WordPress や Joomla! などにも対応していますが、今回は Drupal を選択します。

最後に一番下にある term of services のサービス利用規約を読み、チェックボックスにチェックを入れて Save ボタンを押してください。

Mollom サイト登録画面

確認用の画面が表示されるので、Complete subscription のボタンを押してださい。

サイト登録確認画面

API キーの取得

ユーザー登録が終わるとサイトの管理画面になります。Mollom を使用するのに必要な API キーを取得する必要があるので View keys のリンクを表示してください。

サイト管理画面

次のページで表示される Public key と Private key は Drupal 上の設定画面で使用しますので控えておいてください。

API キーの画面

Drupal に Mollom モジュールをインストール

ここから Drupal 側の設定です。最初に Mollom モジュールをインストールしましょう。モジュールのインストール手順についてはこちらの記事を参考にしてください。

API キーの設定

管理メニューの 環境設定 > Mollom コンテンツモデレーション (admin/config/content/mollom) ページヘ行き、ページ右上にある設定タブを開きます。

Drupal Mollom 設定ページ

ページ上部に Mollom API Key のフィールドセットがありますので、それをクリックして展開し、先ほど Mollom のサイト上で取得した API キーをコピー&ペーストします。日本語化された Drupal をお使いの場合は項目名が翻訳されていてわかりにくいのですが、「公開鍵」に入れる内容は Public key、「秘密鍵」に入れる内容は Secret key となります。キーを入力したら最後に「設定を保存」ボタンを押してください。

Mollom で保護するフォームの設定

殆どの運用では記事に対するコメントのスパムが問題となりますので、今回はコメントフォームを Mollom の対象とします。

管理メニューの 環境設定 > Mollom コンテンツモデレーション (admin/config/content/mollom) を開いてください。このページでは Mollom を使って保護したいフォームを設定するページです。ページ内のフォームの追加リンクを開いてください。

フォームの追加

今回は例として Article のコメントフォームを対象とします。「コメント: Article コメントフォーム」を選択し、次へを押します。

コメントフォームを選択

Mollom のフォームごとの設定画面となります。2016年4月現在では内容があまり翻訳されていませんね。

以下に各項目の設定を簡単に解説します。

  • Protection mode: 保護モード
    • Text analysys: 投稿されたテキストを解析します。通常はこちらを選択してください。
    • CAPTCHA only: テキスト解析をせずに CAPTCHA のみを表示させます。極端にテキストの入力項目が少ないフォームの場合にのみこちらを選択します。
  • Text analysis checks: テキスト解析でチェックするもの
    • Spam: スパムであるか
    • Profanity: 冒涜するような言葉のチェックを行います。日本語には対応してないかもしれません
  • Text fields to analyze: 解析するテキストフィールド
  • Text analysis strictness: テキスト解析の厳格さ
    • ノーマル: 通常はこちらで良いでしょう
    • Strict: 判定が厳しくなります。スパムが通り抜けてくるようでしたらこちらを選択しても良いかもしれません。
    • Relaxed: 判定がゆるくなります
  • When text analysis is unsure: テキスト解析が不明瞭な場合の動作
    • Show a CAPTCHA: CAPTCHA を表示
    • Retain the post for manual moderation: 投稿を保持してマニュアルでモデレーションを行ないます。コメントが未承認の状態になります
    • Accept the post: 投稿を受け入れる
  • When text analysis identifies spam: テキスト解析でスパムと識別された場合
    • Discard the post: 投稿を破棄。通常はこちらを選択してください
    • Retain the post for manual moderation: 投稿を保持してマニュアルでモデレーションを行ないます

最後に保存ボタンを押して完了です。

スパム対策の効果の確認

設定直後にスパムボットが都合よく来るわけではないと思いますので、少し時間を置いてから Mollom のレポートページ (admin/config/content/mollom/statistics) を見てみましょう。おそらく以下のようなグラフが表示されるようになっていると思います。

Mollom のレポートページ

いかがでしたでしょうか。導入に少し手間は掛かりますが、かなりの効果がありますので是非利用してみてください。


共に働く新しい仲間を
募集しています

スタジオ・ウミは「Drupal」に特化したサービスを提供する Drupal のエキスパートチーム。
フルリモート&フレックス制だから、働く場所を選ばず時間の使い方も自由です。
そんなワークライフバランスの整った環境で、当ブログに書かれているような
様々な技術を共に学びながら、Drupalサイト開発に携わってみたい方を募集しています。
まずはお話だけでも大歓迎!ぜひお気軽にご連絡ください。