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(Opens in a new tab/window) CAPTCHA

$ composer require 'drupal/captcha:^2.0'

https://www.drupal.org/project/recaptcha_v3(Opens in a new tab/window) reCAPTCHA v3

$ composer require 'drupal/recaptcha_v3:^2.0'

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


Google reCAPTCHA

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

https://www.google.com/recaptcha/about/(Opens in a new tab/window)

よりログインして、ドメインを登録して、サイトキーとシークレットキーを取得します。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のアイコンが表示されます。


 

reCAPTCHAの設定も無事完了しました。

reCAPTCHAの設定を行い、動作確認もしたのですが、CHAPTCHAが用意する"簡単な計算処理”が上手く動かず、別のPCからアクセスしようとしたらログインできません。。。簡単な計算処理が動いていない場合画像での認証に切り替える必要がありますが、ログイン出来ない事には対処出来ません。このようなイレギュラーな事態が起きた時どうすれば対処出来るか?流石Drupalしっかりエマージェンシーツールが用意されています。次項でその辺りの記事が書ければと思います。

Drupalの記事

関連するDrupalでWEBサイトを構築する為の環境構築の記事やDrupalについて書いた記事になります。

記事は全てナンバリングしています。Drupalを初めて使う為の準備から始まる最初の記事から読む事もできます。

環境構築

DrupalやCivic Themeの設定やインストール、Local環境の構築やサーバーへのインストールなど環境構築やエラーの対応に関わる記事をまとめています。
  • Drupal記事まとめ
  • 環境構築

Drupal記事

Drupalについて記事を書いています。このWEBサイトを構築していく上でのトピックになります。プログラミングやソースコードなどエンジニア的な記事ではなく、プログラミング経験がない個人がDrupalでパーソナルなWEBサイトを構築するという観点での記事になります。
  • Drupal記事まとめ

最新の記事

Drupalについて書いた最新の記事になります。

#D32 Drupal 10.4.0

Drupal Coreが10.3xから10.4xにアップデートされましたので当サイトも早速アップデートします。
  • Civic Theme
  • Drupalの記事

#D31 Civic Theme Sub Theme

Node.jsのバージョン制限の問題でインストールしていなかったサブテーマをインストールして、サブテーマでの運営に切り替えます。
  • Drupalの記事
  • Civic Theme

#D30 Civic Theme 1.9.0 UpDate

Civic Themeのアップデートの通知が来ていましたので1.8.2から1.9.0にアップデートしました。3月程度のブランクながら1.8x > 1.9xなので様子をみようと考えたのですが、改善点も多いので早速アップデートを行いました。
  • Drupalの記事
  • Civic Theme

#D29 Drupal Core Update

前記事で、10.3.4 > 10.3.5のアップデート行う際にアップデートの内容を確認しました。Gitlabで変更内容のコードを確認する事で、変更内容をより詳しく理解することが可能です。今回10.33 > 10.3.4のアップデートの内容を確認します。
  • Drupalの記事
  • 環境構築

Life Styleの記事

Drupalとは関係ないのですがLife Styleの記事も書いていますのでよろしければ購読ください。

Life Style記事

ライフスタイルの記事になります。Drupalに触れる目的でこのWEBサイトを立ち上げています。元はWord Pressで作成した記事をこちらのWEBサイトに再構築しています。Word Pressも学習目的で利用したのですが記事をしっかり作る事を目的としていたので、テーマに興味があればそれなりに楽しめると思います。
  • Life Style記事まとめ
  • Drupalの記事
  • 環境構築