스팸 방지 및 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. Web 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

관련 주제