reCAPTCHA
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
GitLabは、スパムや悪用から保護するためにreCAPTCHAを活用しています。GitLabは、ボットではなく実際のユーザーがアカウントを作成しようとしていることを確認するために、サインアップページにCAPTCHAフォームを表示します。
設定
reCAPTCHAを使用するには、まずサイトとプライベートキーを作成します。
- Google reCAPTCHA pageに移動します。
- reCAPTCHA v2キーを取得するには、フォームに必要事項を入力し、送信を選択します。
- 管理者としてGitLabサーバーにサインインします。
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にある設定 > レポートを選択します。
- スパムとアンチボット対策を展開します。
- reCAPTCHAフィールドに、前の手順で取得したキーを入力します。
- reCAPTCHAを有効にするチェックボックスを選択します。
- パスワードによるログインに対してreCAPTCHAを有効にするには、Enable reCAPTCHA for login(ログインにreCAPTCHAを有効にする)チェックボックスを選択します。
- 変更を保存を選択します。
- スパムチェックを回避し、
recaptcha_htmlを返すようにトリガーするには、以下を実行します:app/services/spam/spam_verdict_service.rbを開きます。#executeメソッドの最初の行をreturn CONDITIONAL_ALLOWに変更します。
パブリックプロジェクトでイシューを表示していることを確認してください。もしイシューを使用している場合は、そのイシューは公開されています。
HTTPヘッダーを使用してユーザーログインにreCAPTCHAを有効にする
パスワードによるユーザーログインに対するreCAPTCHAの有効化は、ユーザーインターフェースで、またはX-GitLab-Show-Login-Captcha HTTPヘッダーを設定することで可能です。たとえば、NGINXでは、これはproxy_set_header設定変数によって行うことができます:
proxy_set_header X-GitLab-Show-Login-Captcha 1;Linuxパッケージのインスタンスの場合は、/etc/gitlab/gitlab.rbで設定します:
nginx['proxy_set_headers'] = { 'X-GitLab-Show-Login-Captcha' => '1' }