スパム対策とCAPTCHA
このガイドでは、GitLabアプリケーションの新しい領域にスパム保護とCAPTCHAサポートを追加する方法の概要を説明します。
新しいエリアにスパム対策とCAPTCHAサポートを追加します。
このサポートを追加するには、該当する以下のエリアを実装する必要があります:
- モデルとサービス:モデルとサービス: スパムや CAPTCHA API を追加するために必要なバックエンドのコードの基本的な前提条件の変更と、まだサポートされていない機能の UI サポート。
- REST API:Grape REST APIのエンドポイントにスパムやCAPTCHAのサポートを追加するために必要な変更。関連するREST APIドキュメントを参照してください。
- GraphQL API:GraphQL API の変異にスパムや CAPTCHA のサポートを追加するために必要な変更。関連するGraphQL APIドキュメントを参照してください。
- Web UI:UI が JavaScript API ベース(Vue またはプレーン JavaScript)か HTML-form(HAML) ベースかに応じて、スパム/CAPTCHA サポートを Web UI に追加する際に発生する可能性のあるさまざまなシナリオ。
また、新機能の手動探索テストを実施する必要があります。詳細については、「探索的テスト」を参照してください。
スパム関連モデルとAPIフィールド
複数のスパムフラグレベルがスパムの処理方法を決定します。これらのレベルはSpam::SpamConstants
で参照され、Spam::SpamActionService#perform_spam_service_check
のようにアプリケーションの様々な場所で使用されます。
可能な値は以下の通りです:
BLOCK_USER
DISALLOW
CONDITIONAL_ALLOW
OVERRIDE_VIA_ALLOW_POSSIBLE_SPAM
ALLOW
NOOP