스팸 보호 및 CAPTCHA
GitLab v19.1이 가이드는 GitLab 애플리케이션의 새로운 영역에 스팸 보호 및 CAPTCHA 지원을 추가하는 방법에 대한 개요를 제공합니다. 이 지원을 추가하려면 해당하는 다음 영역들을 구현해야 합니다: 모델 및 서비스: 아직 지원되지 않는 기능에 스팸 또는 CAPTCHA API 및 UI 지원을 추가하는 데 필요한 백엔드 코드의 기본 전제 조건 변경 사항입니다.
이 가이드는 GitLab 애플리케이션의 새로운 영역에 스팸 보호 및 CAPTCHA 지원을 추가하는 방법에 대한 개요를 제공합니다.
새로운 영역에 스팸 보호 및 CAPTCHA 지원 추가#
이 지원을 추가하려면 해당하는 다음 영역들을 구현해야 합니다:
-
모델 및 서비스: 아직 지원되지 않는 기능에 스팸 또는 CAPTCHA API 및 UI 지원을 추가하는 데 필요한 백엔드 코드의 기본 전제 조건 변경 사항입니다.
-
REST API: Grape REST API 엔드포인트에 스팸 또는 CAPTCHA 지원을 추가하는 데 필요한 변경 사항입니다. 관련 REST API 문서를 참조하세요.
-
GraphQL API: GraphQL 뮤테이션에 스팸 또는 CAPTCHA 지원을 추가하는 데 필요한 변경 사항입니다. 관련 GraphQL API 문서를 참조하세요.
-
Web UI: UI가 JavaScript API 기반(Vue 또는 일반 JavaScript)인지 HTML 폼(HAML) 기반인지에 따라 웹 UI에 스팸/CAPTCHA 지원을 추가할 때 발생하는 다양한 시나리오입니다.
또한 새 기능에 대한 수동 탐색적 테스트를 수행해야 합니다. 자세한 내용은 탐색적 테스트를 참조하세요.
스팸 관련 모델 및 API 필드#
여러 수준의 스팸 플래그가 스팸 처리 방식을 결정합니다. 이러한 수준은
Spam::SpamConstants에서 참조되며,
Spam::SpamActionService#perform_spam_service_check와 같이 애플리케이션의 다양한 위치에서 사용됩니다.
가능한 값은 다음과 같습니다:
-
BLOCK_USER -
DISALLOW -
CONDITIONAL_ALLOW -
OVERRIDE_VIA_ALLOW_POSSIBLE_SPAM -
ALLOW -
NOOP