help/content/responses/vector.md

2.2 KiB

date title weight
2019-04-05T15:59:52+02:00 Liste de flags 7

Ce type de flag s'utilise pour valider plusieurs chaînes de caractères liées au même flag. Par exemple, s'il faut trouver une liste d'administrateurs, les IP appartenant à un botnet, les fichiers infectés, ...

Attention, par défaut, les propositions ne sont pas sensible à la casse1.

Exemple

[[flag]]
label = "IPv6 du botnet"
raw = ['fe80::319c:1002:7c60:68fa', 'fe80::319c:1002:7c60:68fb', 'fe80::319c:1002:7c60:68fc', 'fe80::319c:1002:7c60:68fd' ]

Il convient de lister toutes les IP du botnet, l'ordre importe peut, donc on ne précise pas la propriété ordered ; la case d'un IP n'a pas non plus d'importance, donc on laisse la propriété casesensitive à sa valeur par défaut.

Propriétés

type
"vector"
id
(facultatif) identifiant du flag au sein de l'exercice, pour définir des dépendances ;
label
(facultatif, par défaut : Flag) intitulé du drapeau ;
raw
tableau TOML de drapeaux exacts à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments ;
validator_regexp
(facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que ?: au début d'un groupe ne le capturera pas) ; Attention, la regexp est appliquée seulement sur la représentation de la chaîne de caractères obtenue, pas sur chaque élément.
ordered
(facultatif, par défaut : false) ignore l'ordre dans lequels les éléments du tableau sont passés ;
casesensitive
(facultatif, par défaut : false) prend en compte la la casse des drapeaux lors de la validation ;
help
(facultatif) chaîne de caractères placée sous le champ du formulaire, idéale pour donner une indication de format ;

Rendu

Rendu list de flag

Dans cet exemple, on demande explicitement que les IP soient listées dans l'ordre, on aura pris soin d'ajouter ordered = true.


  1. Casse selon les classes Unicode de charactères, ce ne concerne pas que l'alphabet traditionnel. Pour plus d'infos, consultez la documentation de la fonction utilisée. ↩︎