メインコンテンツに移動

CAPTCHAモジュール

コンタクトフォームからbotと思われる変なメッセージが飛んでくる、数は多くないが、そのうちどんどん増えたらやだなぁ、と思った。

DrupalのCAPTCHAモジュールを導入してみた。

$ composer require 'drupal/captcha:^1.2'

その後、モジュールを有効にするが、コンタクトフォームやコメント欄でも、有効になっていなかった。

環境設定のCAPTCHの設定を開くと、フォーム設定というのがある。

ここに、似たようなもの(user_login_formは正しいIDだった)があるが、コンタクトフォームはどれを有効にしても出てこなかった。追加しようとすると、フォームIDなるものを要求される。それは一体何なのか、nodeのidでもない。

FORM_IDの調べ方

FORM_ID は、input 要素に hidden 属性を付けて HTML ソース内に記述されているようです。なので、フォームが表示されているページのHTML ソースを確認して、form要素を探すと、

<input 中略 type="hidden" name="form_id" value="contact_message_website_feedback_form" />

name="form_id" ソースの中を検索するとすぐ見つかる。

となっている部分のvalue="contact_message_website_feedback_form"が、form_idとなるようである。

 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。