サイトを運営していると、コンタクトフォームからスパムメールが送られてきたり、意味のないユーザ登録をする輩がいたります。これらを防止するにはCAPTCHA機能を使いましょう。Joomla!には標準でその機能が備わっています。
Joomla!ではCAPTCHAを表示するために、ReCAPTCHAというWebサービスを利用します。まずはReCaptchaにサインアップしましょう。ReCaptchaのページへアクセスします。
reCAPTCHA: Stop Spam, Read Books
「Use ReCAPTCHA ON YOUR SITE」を選択します。
「Sign Up Now!」をクリックします。
ReCAPTCHAを使用するサイトのドメイン名を入力します。サブドメインやwwwは入れなくてもOKです。次に「Create Key」を押します。
表示された「Public Key」と「Private Key」を控えておきます。
次にJoomla!の管理画面へ移動します。「システム」→「グローバル設定」→「サイト」タブ→「標準キャプチャ」を「キャプチャ - ReCaptcha」に変更して保存します。
「エクステンション」→「プラグイン管理」→「キャプチャ - ReCaptcha」を開き、「状態」を「有効」に設定します。「基本オプション」タブを選択し、「公開鍵」にReCAPTCHAのサイトで取得したPublick Keyを、「秘密鍵」にPrivate Keyをそれぞれ入力して保存します。
フロントエンドでユーザ登録画面を表示すると、フォームの最後にReCAPTCHAが表示されます。メールフォームにもReCAPTCHAが表示されているはずです。
この場合、ユーザ登録フォームとコンタクトフォームの両方にReCAPTCHAが表示されてしまいますが、どちらか一方だけに表示することも可能です。まず「グローバル設定」で「標準キャプチャ」を「未選択」に設定します。次に、ユーザ登録フォームに表示したいのであれば「ユーザ」→「ユーザ管理」→「オプション」ボタン→「キャプチャ」で「キャプチャ - ReCaptcha」を選択します。コンタクトフォームに表示したいのであれば、「コンポーネント」→「コンタクト」→「オプション」ボタン→「フォーム」タブの中にある「コンタクトでのキャプチャを許可」を「キャプチャ - ReCaptcha」に設定します。