reCAPTCHA

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

設定

reCAPTCHAを使用するには、まずサイトと秘密鍵を作成します。

  1. Google reCAPTCHAのページにアクセスしてください。
  2. reCAPTCHA v2のキーを取得するには、フォームに必要事項を入力し、送信を選択します。
  3. GitLab サーバーに管理者としてサインインしてください。
  4. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  5. Admin Areaを選択します。
  6. 左側のサイドバーで、[設定] > [レポーター]を選択します。
  7. スパムとボット対策を展開します。
  8. reCAPTCHAフィールドに、前のステップで取得したキーを入力します。
  9. reCAPTCHAを有効にする」チェックボックスを選択します。
  10. パスワードによるログインでreCAPTCHAを有効にするには、「ログインでreCAPTCHAを有効にする」チェックボックスを選択します。
  11. 変更を保存を選択します。
  12. スパムチェックを短絡させ、レスポンスがrecaptcha_html を返すようにするには:
    1. オープンapp/services/spam/spam_verdict_service.rb.
    2. #execute メソッドの最初の行をreturn CONDITIONAL_ALLOW に変更してください。
note
公開されているプロジェクトでissueを閲覧していることを確認してください。イシューで作業している場合、イシューは公開されています。

HTTPヘッダを使用して、ユーザーログイン用のreCAPTCHAを有効にします。

ユーザーインターフェイスまたはX-GitLab-Show-Login-Captcha HTTPヘッダを設定することで、パスワードによるユーザーログインでreCAPTCHAを有効にできます。たとえば、NGINXでは、proxy_set_header 設定変数でこれを行うことができます:

proxy_set_header X-GitLab-Show-Login-Captcha 1;

Omnibus GitLabでは、/etc/gitlab/gitlab.rb で設定できます:

nginx['proxy_set_headers'] = { 'X-GitLab-Show-Login-Captcha' => '1' }