# CAPTCHA
Image CAPTCHAを含むCAPTCHA モジュールの設定では、CAPTCHAポイントをフォームIDとシステム内部名称で指定する必要がある。
フォームIDとシステム内部名称が分からない場合、CAPTCHA設定で、「CAPTCHA管理用リンクをフォームへ追加」をチェックしておけば、フォームの編集画面に、CAPTHCA設定用のリンクが現れ、フォームIDとシステム内部名称を自動的に選択することが可能となる。
Drupal8でCAPTCHAをフォームに追加する手順はつぎのとおり。
1. CAPTCHAモジュールのインストール
2. CAPTCHAモジュールを活性化
3. CAPTCHAモジュール設定
4. フォームへのCAPTCHA追加
### CAPTCHAモジュールのインストール
CAPTCHAモジュールをダウンロードして modules ディレクトリ下に展開する。
~~~
$ cd <drupalをインストールしたディレクトリ>/
$ curl https://ftp.drupal.org/files/projects/captcha-8.x-1.0-beta1.tar.gz
| tar xvfz - -C module/
~~~
### CAPTCHAモジュールを活性化
モジュールインストール後に、管理画面の「機能拡張」で "CAPTCHA" と "Image CAPTCHA" を有効にし活性化する。
CPTCHA の "Provides the CAPTCHA API for adding challenges to arbitrary forms." をクリックするとプルダウン表示されて、"Configure" を選択できるようになる。
### CAPTCHAモジュール設定
あるいは、「環境設定」の「ユーザー」に「CAPTCHAモジュールの設定」が現れるので、
これをクリックすると、CAPTCHAモジュール設定画面となる。
図のように "CAPTCHA管理用リンクをフォームへ追加" をチェックして保存すると、各フォーム画面にCAPTCHA設定のリンクが表示されるようになる。
(※このオプションを選ぶと、全フォームにCAPTCHA管理用リンクが表示されるので注意する。例えば、下記に例示するフィードバックページの左サイドナビの検索エントリフォームにも表示されるようになる。)
## フォームへのCAPTCHA追加
ここでは、「ウェブサイトフィードバック」のページの設定をしてみる。まず、ページを開く とCAPTCHA設定用のリンクが「ここへ信頼できないユーザーに対するCAPTCHAを設置する。」と表示される。
CAPTCHA設定用のリンクをクリックすると、「Add CAPTCHA Point」が表示されるので、「保存」する。
これで、うまくゆくと「ウェブサイトフィードバック」のページは図のように表示される。
----
### うまく表示されない場合
ここに記述した設定以前になんらかの操作をした影響等で、「ウェブサイトフィードバック」のページが次のように(disabled)表示された場合は、"geleral CAPTCHA settings" をクリックし、以下の操作を行う。
現れた「CAPTCHAの設定」画面で「CAPTCHAポイント」をクリックし、表示されたキャプチャポイント一覧から、該当するIDの操作が「有効」となっているボタンをクリックする。
CAPTCHAポイントの有効化することの確認(Are you sure you want to enable Captcha?)画面となるので、「有効」ボタンをクリックする。
----
### 表示例
ログアウトして、「ウェブサイトフィードバック」ページを見ると次のように画像CAPTCHAが表示されるようになる。