正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

reCAPTCHA

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed、GitLab Dedicated

GitLabは、スパムや悪用から保護するためにreCAPTCHAを活用しています。GitLabは、ボットではなく実際のユーザーがアカウントを作成しようとしていることを確認するために、サインアップページにCAPTCHAフォームを表示します。

設定

reCAPTCHAを使用するには、まずサイトとプライベートキーを作成します。

  1. Google reCAPTCHA pageに移動します。
  2. reCAPTCHA v2キーを取得するには、フォームに必要事項を入力し、送信を選択します。
  3. 管理者としてGitLabサーバーにサインインします。
  4. 左側のサイドバーの下部で、管理者を選択します。
  5. 左側のサイドバーの下部にある設定 > レポートを選択します。
  6. スパムとアンチボット対策を展開します。
  7. reCAPTCHAフィールドに、前の手順で取得したキーを入力します。
  8. reCAPTCHAを有効にするチェックボックスを選択します。
  9. パスワードによるログインに対してreCAPTCHAを有効にするには、Enable reCAPTCHA for login(ログインにreCAPTCHAを有効にする)チェックボックスを選択します。
  10. 変更を保存を選択します。
  11. スパムチェックを回避し、recaptcha_htmlを返すようにトリガーするには、以下を実行します:
    1. app/services/spam/spam_verdict_service.rbを開きます。
    2. #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' }