$secu.buildSanitizePolicy
¶
Description¶
Construit une policy de sécurisation à partir d'un ensemble de règles. La règle ainsi construite pourra être réutilisée pour traiter des valeurs issues d'une requête SQL ou reçues en paramètre de script.
L'exemple ci-dessous crée une règle qui autorise les éléments <i>
ayant une classe (c'est par exemple le cas si un texte contient des
icones selon la syntaxe bootstrap, comme <i class="bi bi-star"/>
).
1 2 3 4 5 6 7 |
|
L'objet créé peut ensuite être réutilisé pour nettoyer des valeurs.
Par exemple on peut passer cette règle via l'option sanitize
de la
méthode $sql.mselect
pour que Ewt applique
le sanitize à toutes les valeurs reçues du SGBD.
1 2 3 |
|
Info
La plupart des méthodes peuvent recevoir des règles de nettoyage
sous la forme de map, de tableau de maps ou d'objet pojo
.
L'intérêt de construire un objet pojo
relève avant tout d'une
question de performances : l'objet pojo
est construit une seule
fois et réutilisé tel quel, alors qu'un map ou un tableau de maps
doit être parsé par le moteur à chaque fois. Il est donc plus
efficace du point de vue des performances de pré-construire un
objet pojo
au moyen de $secu.buildSanitizePolicy
.
Une liste exhaustive des options de nettoyages supportées est donnée dans ce chapitre.
Syntaxe¶
$secu.buildSanitizePolicy( rules )
Paramètres¶
rules
string / map-
Objet décrivant les options de nettoyages autorisées. Les règles reprennent les options de configuration de la classe HtmlPolicyBuilder. Les règles peuvent être données sous forme de string (p.ex "FORMATTING|BLOCKS"), sous forme de map (p.ex
{ allowAttributes: "src", onElements: "img" }
ou sous forme de tableau de maps.Les options de nettoyage sont décrites dans la documentation de la règle "sanitize" de la descript
Retour¶
Objet pojo
référençant une
PolicyFactory)
décrivant la policy de nettoyage.
Exemple¶
1 2 3 4 5 6 7 8 9 10 11 |
|
Traces générées par le code ci-dessus:
orig: Bla <i class="fa fa-check" onclick="alert('foo')"></i> bla <script>alert("bar");</script> bla
sanitized: Bla <i class="fa fa-check"></i> bla bla