reCAPTCHA

Tier: Free, Premium, Ultimate Offering: 자체 관리, 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로 변경합니다.

참고: 이슈가 공개된 프로젝트에서 이슈를 보고 있는지 확인하세요. 이슈를 처리 중인 경우 해당 이슈가 공개 상태인지 확인하세요.

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' }