Skip to content

Commit

Permalink
đź“™ Add CSRF variables to documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Lymkwi committed Oct 9, 2023
1 parent a9debc6 commit d6e1cd8
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion docs/manuel/src/02-structure/projet/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ aléatoire unique et connue seulement de la personne qui déploie le site en
production. Elle est mise dans `DJANGO_KEY`, et piochée dans la variable
d'environnement `DJANGO_SECRET`.

## Allowed Hosts, URLs et CORS
## Allowed Hosts, URLs, CSRF et CORS

Le web est un système compliqué qui repose sur l'intercommunication de plein
d'acteur⋅ices différent⋅es. Cependant, autoriser des communications de partout
Expand All @@ -46,6 +46,21 @@ au frontend de nous passer des informations d'authentification
Enfin, on indique Ă  Django quel module contient la liste des URLs de l'API dans
`ROOT_URLCONF`.

Ensuite viennent les CSRF, qui permettent d'Ă©viter les attaques de *Cross-Site
Request Forgery*. C'est un mécanisme via lequel le navigateur va obtenir un
cookie via une requĂŞte Ă  un point d'API, puis l'utiliser dans un appel pour
prouver sa bonne foi.

On peut contrôler quels noms de domaines sont autorisés à effectuer ces requêtes
de CSRF, et nous avons notamment besoin que le frontend y soit autorisé. On a du
coup:
```python
CSRF_TRUSTED_ORIGINS = [
"https://api." + getenv("WEBSITE_HOST", "localhost"),
"https://" + getenv("WEBSITE_HOST", "localhost"),
]
```

## Applications & Middlewares

Django est un framework explosé en de nombreux petits morceaux. On les réunit
Expand Down

0 comments on commit d6e1cd8

Please sign in to comment.