스팸 방지 및 CAPTCHA
이 가이드는 GitLab 애플리케이션의 새로운 영역에 스팸 방지 및 CAPTCHA 지원을 추가하는 방법에 대한 개요를 제공합니다.
새로운 영역에 스팸 방지 및 CAPTCHA 지원 추가
이 지원을 추가하려면 다음과 같은 영역을 구현해야 합니다.
- 모델 및 서비스: 스팸 또는 CAPTCHA API 및 UI 지원을 추가하는 데 필요한 백엔드 코드의 기본 사전 조건 변경 지원이 아직 없는 기능에 대한.
- REST API: Grape REST API 엔드포인트에 스팸 또는 CAPTCHA 지원을 추가하기 위한 변경 사항. 관련된 REST API 문서를 참조하세요.
- GraphQL API: GraphQL에 스팸 또는 CAPTCHA 지원을 추가하기 위한 변경 사항 뮤테이션. 관련 GraphQL API 문서를 참조하세요.
- 웹 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