Skip to content

Commit 4508c2b

Browse files
committed
Update doc
1 parent 1aee217 commit 4508c2b

3 files changed

Lines changed: 19 additions & 0 deletions

File tree

doc/cookbook/sort.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ class MyCrudController extends AbstractCrudController
6060
}
6161
```
6262

63+
> **_SÉCURITÉ:_** Les valeurs de l'option `alias_sort` sont injectées telles quelles (sans échappement) dans la
64+
> clause `ORDER BY` de la requête générée. Elles doivent donc être des valeurs écrites en dur dans le code et ne
65+
> jamais être construites à partir de données provenant de l'utilisateur.
66+
6367
Il est aussi possible de définir un tri par défaut personnalisé grâce à la méthode `setDefaultPersonalizedSort` :
6468

6569
```php
@@ -92,3 +96,8 @@ class MyCrudController extends AbstractCrudController
9296
//...
9397
}
9498
```
99+
100+
> **_SÉCURITÉ:_** Contrairement au tri sur une colonne (validé par rapport aux colonnes déclarées), les alias passés
101+
> à `setDefaultPersonalizedSort` sont injectés tels quels (sans échappement ni validation) dans la clause `ORDER BY`
102+
> de la requête générée. Ils doivent donc être des valeurs écrites en dur dans le code et ne jamais être construits
103+
> à partir de données provenant de l'utilisateur, sous peine d'injection SQL.

doc/crud.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,12 @@ Explications de getCrudOptions():
168168
* **displayed_by_default**: Booléen qui définit si on affiche (ou non) cette colonne par défaut **Défaut: True**
169169
* **alias_search**: Alias Doctrine utilisé lors de la recherche DQL/SQL. Si pas défini, utilise l'alias Doctrine défini par l'option `alias`
170170
* **alias_sort**: Alias Doctrine (chaine de caractères ou tableau de chaines de caractères) utilisé(s) lors du tri sur cette colonne. Si pas défini, utilise l'alias Doctrine défini par l'option `alias`
171+
172+
> **_SÉCURITÉ:_** Les options `alias`, `alias_search` et `alias_sort` sont injectées telles quelles (sans échappement)
173+
> dans la requête DQL/SQL générée. Elles doivent donc être des valeurs écrites en dur dans le code et ne jamais être
174+
> construites à partir de données provenant de l'utilisateur (requête HTTP, base de données, etc.), sous peine
175+
> d'injection SQL.
176+
171177
* Nous donnons la requête Doctrine (sous forme d'objet QueryBuilder ou d'une fonction anonyme) avec la méthode setQueryBuilder() Le moteur du CRUD modifiera automatiquement cette requête, en fonction des actions demandées par l'utilisateur
172178
* Nous définissions les paramètres du nombre de pages avec la méthode `setMaxPerPage()`. Cette méthode prend 2 paramètres :
173179
* Un tableau contenant les différents nombres possibles du nombre de résultats par page. **Requis**

doc/references/searcher.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
| alias_search | Alias Doctrine à utiliser pour la recherche | Non | Valeur définie dans la déclaration de la colonne du CRUD associée |
1111
| label | Label | Non | Valeur définie dans la déclaration de la colonne du CRUD associée |
1212

13+
> **_SÉCURITÉ:_** L'option `alias_search` est injectée telle quelle (sans échappement) dans la requête DQL/SQL
14+
> générée par les filtres. Elle doit donc être une valeur écrite en dur dans le code et ne jamais être construite
15+
> à partir de données provenant de l'utilisateur, sous peine d'injection SQL.
16+
1317

1418
## Définition des options
1519

0 commit comments

Comments
 (0)