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를 반환하도록 응답을 트리거하려면:
  12. app/services/spam/spam_verdict_service.rb를 엽니다.
  13. #execute 메서드의 첫 번째 줄을 return CONDITIONAL_ALLOW로 변경합니다.
note
공개 프로젝트의 이슈보기를 확인해야 합니다. 이슈를 처리하는 경우 해당 문제는 공개 상태여야 합니다.

사용자 로그인에 대한 reCAPTCHA HTTP 헤더 사용 설정

사용자 인터페이스에서 사용자 로그인에 대한 reCAPTCHA를 활성화하거나 X-GitLab-Show-Login-Captcha HTTP 헤더를 설정하여 로그인할 수 있습니다. 예를 들어, 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' }