CIVICTHEME JOURNAL 13

reCAPTCHAの設定

約1,700文字 読了目安:約4分

この記事の目次

reCAPTCHAの設定

DrupalやWordPressなどのCMSでWEBサイトを構成するとお問い合わせ用のメールフォームや管理画面へのログインフォームに対してサイト構成が決まっているため、公開していると悪意のあるハッキングの可能性が出てきます。良く言われるBotなどでスパムメールの攻撃や場合によってはログインフォームへのハッキングの恐れがありセキュリティ面を考慮すると対策をする必要があります。

連続送信や、不審な送信、不審なログインなどを検知し防ぐツールとしてGoogleが提供するGoogle reCAPTCHAが有名で機能面も優れているので、Google reCAPTCHAの導入をします。

WordPressの場合、Contact7やWpFormなど有名なフォームメールのプラグインはGoogle reCAPTCHAの設定がデフォルトで用意されています。今回初めてDrupalでGoogle reCAPTCHAの設定をします。

DrupalでGoogle reCAPTCHAを使用するには2つのモジュールが必要になります。


https://www.drupal.org/project/captcha CAPTCHA

$ composer require ‘drupal/captcha:^2.0’

https://www.drupal.org/project/recaptcha_v3 reCAPTCHA v3

$ composer require ‘drupal/recaptcha_v3:^2.0’

それぞれComposerでインストールします。


Google reCAPTCHA

Google reCAPTCHAのサイトキーとシークレットキーが必要なので

https://www.google.com/recaptcha/about/

よりログインして、ドメインを登録して、サイトキーとシークレットキーを取得します。V2とV3を選択しますが私はV3を使用しています。違いはV2は常時確認が必要(良く見る指定画像の選択)ですが、V3はホワイトリスト化されていると確認なしで利用出来るようになっています。WEBの管理者のログインは同一IPで同一のユーザーエージェントやクッキーなどであれば2回目以降は本人と認識され確認はしなくて大丈夫といった感じです。IPや端末が変わったりすると確認が必要になります。

Googleのアカウントが必要なので、持っていない方は登録する必要があります。


CAPTCHAの設定

環境設定 /admin/configのCAPTCHAの設定を選択します。

CAPTCHAの設定
/web/ja/admin/config/people/captcha

reCAPTCHA v3
/admin/config/people/captcha/recaptcha-v3
サイトキーとシークレットキーを登録

Default fallback challenge type
なし、Math,Imageの3択ですがImageを選択

CAPTCHAの設定
/admin/config/people/captcha
標準の設問形式
reCHAPTCHA v3を選択

Captcha Pointsの設定
/admin/config/people/captcha/captcha-points
ここで、reCAPTHA v3を表示されるページ(実際にはフォームID)を指定し有効化します。

user_login_form ※ログインフォーム

webform_submission_XXXXX ※WebFormを使いつくったフォームメールのフォームID

※このフォームIDを調べるのに一番簡単なのはフォームメールのHTMLのソースを見て送信ボタン近辺に以下の項がありここのname=“form_id” value=以下がこのページのフォームIDとなります。

type=“hidden” name=“form_id” value=webform_submission_XXXXX

以上でreCAPTHAの設定が完了し指定したログインフォームとお問い合わせのメールフォームにreCAPTHAのアイコンが表示されます。


すべての記事を見る ↗