スパム対策とCAPTCHA

このガイドでは、GitLabアプリケーションの新しい領域にスパム保護とCAPTCHAサポートを追加する方法の概要を説明します。

新しいエリアにスパム対策とCAPTCHAサポートを追加します。

このサポートを追加するには、該当する以下のエリアを実装する必要があります:

  1. モデルとサービス:モデルとサービス: スパムや CAPTCHA API を追加するために必要なバックエンドのコードの基本的な前提条件の変更と、まだサポートされていない機能の UI サポート。
  2. REST API:Grape REST APIのエンドポイントにスパムやCAPTCHAのサポートを追加するために必要な変更。関連するREST APIドキュメントを参照してください。
  3. GraphQL API:GraphQL API の変異にスパムや CAPTCHA のサポートを追加するために必要な変更。関連するGraphQL APIドキュメントを参照してください。
  4. Web UI:UI が JavaScript API ベース(Vue またはプレーン JavaScript)か HTML-form(HAML) ベースかに応じて、スパム/CAPTCHA サポートを Web UI に追加する際に発生する可能性のあるさまざまなシナリオ。

また、新機能の手動探索テストを実施する必要があります。詳細については、「探索的テスト」を参照してください。

複数のスパムフラグレベルがスパムの処理方法を決定します。これらのレベルはSpam::SpamConstantsで参照され、Spam::SpamActionService#perform_spam_service_checkのようにアプリケーションの様々な場所で使用されます。

可能な値は以下の通りです:

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