Le processus de filtrage des référents peut être décrit comme suit :
Le serveur LiveCycle vérifie la méthode HTTP utilisée pour l’appel :
S’il s’agit d’une méthode POST, le serveur LiveCycle vérifie l’en-tête référent.
S’il s’agit d’une méthode GET, le serveur LiveCycle ignore la vérification du référent, à moins que la variable CRSF_CHECK_GETS ne soit définie sur true. Dans ce cas, il vérifie l’en-tête référent. La variable CSRF_CHECK_GETS est spécifiée dans le fichier web.xml pour votre application.
Le serveur LiveCycle vérifie si l’URI requis est autorisé :
Si l’URI est autorisé, le serveur transmet la requête.
Si l’URI requis n’est pas autorisé, le serveur récupère le référent de la requête.
S’il existe un référent pour la requête, le serveur vérifie s’il s’agit d’un référent autorisé. Si le référent est autorisé, le serveur vérifie qu’il ne fait pas partie des exceptions aux référents autorisés :
S’il s’agit d’une exception, la requête est bloquée.
S’il ne fait pas partie des exceptions, la requête est transmise.
S’il n’existe aucun référent pour la requête, le serveur vérifie que les référents de valeur NULL sont autorisés.
Si les référents de valeur NULL sont autorisés, la requête est transmise.
Si ce n’est pas le cas, le serveur vérifie que l’URI requis fait partie des exceptions aux référents de valeur NULL et traite la requête en fonction.
Le schéma suivant illustre la vérification CSRF que LiveCycle effectue lorsqu’une requête est envoyée au serveur.
|
|
|