reCAPTCHA

Tier: Free, Premium, Ultimate Offering: Self-Managed, GitLab Dedicated

GitLab은 스팸 및 남용에 대비하기 위해 reCAPTCHA를 활용합니다. GitLab은 실제 사용자가 계정을 생성하려는 것이지 봇이 아닌지 확인하기 위해 가입 페이지에 CAPTCHA 양식을 표시합니다.

구성

reCAPTCHA를 사용하려면 먼저 사이트 및 개인 키를 생성하세요.

  1. Google reCAPTCHA 페이지로 이동합니다.
  2. reCAPTCHA v2 키를 얻으려면 양식을 작성하고 제출을 선택합니다.
  3. 관리자로서 GitLab 서버에 로그인합니다.
  4. 왼쪽 사이드바에서 하단에 있는 관리 영역을 선택합니다.
  5. 설정 > 보고를 선택합니다.
  6. 스팸 및 안티봇 보호를 확장합니다.
  7. reCAPTCHA 필드에 이전 단계에서 얻은 키를 입력합니다.
  8. reCAPTCHA 사용 확인란을 선택합니다.
  9. 비밀번호로 로그인할 때 reCAPTCHA를 활성화하려면 로그인용 reCAPTCHA 활성화 확인란을 선택합니다.
  10. 변경사항 저장을 선택합니다.
  11. 스팸 확인을 바로 처리하고 응답을 반환하도록하는 recaptcha_html을 반환하려면:
    1. app/services/spam/spam_verdict_service.rb를 엽니다.
    2. #execute 메서드의 첫 줄을 return CONDITIONAL_ALLOW로 변경합니다.
note
공개 프로젝트의 이슈를 보고 있는지 확인하세요. issue와 작업 중이라면 해당 이슈가 공개되어 있는지 확인하세요.

HTTP 헤더를 사용하여 사용자 로그인에 대한 reCAPTCHA 활성화

사용자 인터페이스에서 비밀번호로 로그인할 때 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' }