58 lines
2.2 KiB
Markdown
58 lines
2.2 KiB
Markdown
|
---
|
||
|
date: 2019-04-05T15:59:52+02:00
|
||
|
title: Liste de flags
|
||
|
weight: 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 casse[^gocase].
|
||
|
|
||
|
[^gocase]: 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](https://golang.org/pkg/bytes/#ToLower).
|
||
|
|
||
|
### Exemple
|
||
|
|
||
|
```toml
|
||
|
[[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](flag.png)
|
||
|
|
||
|
Dans cet exemple, on demande explicitement que les IP soient listées dans l'ordre, on aura pris soin d'ajouter `ordered = true`.
|