help/content/responses/simple.md
2019-04-05 18:48:05 +02:00

88 lines
2.3 KiB
Markdown

---
date: 2019-04-05T15:59:52+02:00
title: Flag simple
weight: 5
---
Ce type de flag s'utilise pour valider toute chaîne de caractère que l'on
retrouve brute dans les fichiers donnés (ou après un traitement
_déterministe_).
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
```
[[flag]]
label = "IPv6 d'exfiltration"
raw = 'fe80::319c:1002:7c60:68fa'
```
Dans cet exemple, l'importance de la casse de l'IPv6 n'est pas importante, on
laissera donc le participant entrer l'IPv6 comme il le désire, même si elle
peut être copiée/collée.
## Flag strict, sensible à la casse
On utilise la propriété `casesensitive` pour forcer la prise en compte de la
casse lors de la vérification du flag.
### Exemple
```
[[flag]]
label = "Mot de passe du compte"
raw = 'rech1aichoh2Tei1ohHe'
casesensitive = true
```
Pour un mot de passe, ou une chaîne de caractère comme un token, ... qui sera
forcément recopiée par les participants, on impose le respect strict de la
casse.
## Flag modulable
### Exemple
Si par exemple, on estime que plusieurs réponses sont correctes (ici, plusieurs secondes) :
```
[[flag]]
label = "Heure de l'exfiltration"
raw = '11:22:33+02:00'
validator_regexp = "([0-9]{1,2}):([0-9]{1,2}):[0-9]{1,2}"
```
# Propriétés
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
: drapeau exact à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments ;
validator_regexp
: (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
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 de ce drapeau 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 ;