# 3.13.12. Présentation

Nous proposons le filtre de sécurité qui permet de contrôler les requêtes vers vitam pour éviter les vulnaribilités et faille de sécurité. Le fitre sera contrôler : - le Header de la requête - le Parameter URI - le Body

# 3.13.13. Classes de filtres

Nous proposons trois filtres différents dans les classe comme suits :

- SanityCheckerCommonFilter.class : le filtre commmun pour contrôler le header, parametre URI et ceux de la requête. Ce filtre intègre aussi le contrôle XSS au niveau des header.
- SanityCheckerInputStreamFilter.class : filter body de type Inputstream
- SanityCheckerJsonFilter.class : filtre body de type Json

La logique est fait une contrôle et si c’est KO, une réponse de status 412 (PRECONDITION_FAILED) sera retourné.

# 3.13.14. Implémenter des filters

Le filtre sera ajouté dans registerInResourceConfig de chaque serveur application sous le syntaxe par exemple

    serviceRegistry.register(AccessInternalClientFactory.getInstance())
        .register(SanityCheckerCommonFilter.class)

# 3.13.15. Appliquer le filtre pour Vitam

- le filtre commun SanityCheckerCommonFilter sera appliqué pour les modules suivants : AccessExternal, IngestExternal, Workspace, Metadata
- le filtre body Json SanityCheckerJsonFilter et body Inputstream SanityCheckerInputStreamFilter seront appliqué pour les modules AccessExternal, IngestExternal, Metadata