스팸 방지 및 CAPTCHA

이 안내서는 GitLab 애플리케이션의 새로운 영역에 스팸 방지 및 CAPTCHA 지원을 추가하는 방법에 대한 개요를 제공합니다.

새로운 영역에 스팸 방지 및 CAPTCHA 지원 추가

이 지원을 추가하려면 다음과 같은 영역을 구현해아 합니다.

  1. 모델 및 서비스: 스팸 또는 CAPTCHA API 및 UI 지원을 추가하는 데 필요한 백엔드 코드의 기본 변경사항
    • 아직 해당 기능을 지원하지 않는 경우
  2. REST API: Grape REST API 엔드포인트에 스팸 또는 CAPTCHA 지원을 추가하는 데 필요한 변경 내용. 관련된 REST API 문서를 참조하세요.
  3. GraphQL API: GraphQL 뮤테이션에 스팸 또는 CAPTCHA 지원을 추가하는 데 필요한 변경 내용. 관련된 GraphQL API 문서를 참조하세요.
  4. 웹 UI: 웹 UI에 스팸/CAPTCHA 지원을 추가하는 경우에 발생할 수 있는 여러 시나리오에 대해, UI가 JavaScript API 기반(Vue 또는 일반 JavaScript)인지 또는 HTML 폼(HAML) 기반인지에 따라 다릅니다.

또한 새로운 기능에 대한 수동 탐색 테스트를 수행해야 합니다. 자세한 정보는 탐색적 테스트를 참조하세요.

스팸 관련 모델 및 API 필드

스팸 처리 여부를 결정하는 여러 수준의 스팸 플래그가 있습니다. 이러한 수준은 Spam::SpamConstants에서 참조되며, Spam::SpamActionService#perform_spam_service_check 등과 같이 어플리케이션의 여러 곳에서 사용됩니다.

가능한 값은 다음과 같습니다:

  • BLOCK_USER
  • DISALLOW
  • CONDITIONAL_ALLOW
  • OVERRIDE_VIA_ALLOW_POSSIBLE_SPAM
  • ALLOW
  • NOOP

관련 주제