Exposition - CORS Flashcards

(12 cards)

1
Q

Qu’est-ce que les CORS ?

A

Mécanisme de sécurité navigateur qui contrôle les requêtes cross-origin pour éviter l’accès non autorisé à une API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quel problème CORS résout-il ?

A

Il empêche qu’un site tiers envoie des requêtes HTTP vers ton API sans autorisation, limitant les risques de CSRF et d’accès illégitime aux ressources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quand CORS s’active-t-il ?

A

Lorsqu’une requête frontend est envoyée vers un backend situé sur une autre origine (domaine, port ou protocole différents).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce qu’une “preflight request” ?

A

Requête OPTIONS envoyée automatiquement par le navigateur pour vérifier si l’origine, la méthode et les headers sont autorisés par l’API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Comment le serveur autorise une origine ?

A

En renvoyant des en-têtes CORS (Access-Control-Allow-Origin, Allowed-Methods, etc.) indiquant explicitement les origines et méthodes permises.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Que se passe-t-il si CORS n’est pas configuré ?

A

Le navigateur bloque la réponse même si le backend a bien répondu, provoquant une erreur CORS côté console frontend.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Pourquoi configurer CORS côté backend ?

A

Parce que la validation des origines ne peut pas être déléguée au frontend : seule l’API détermine qui peut y accéder.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Configuration CORS sans Spring Security ?

A

Utilisation d’un WebMvcConfigurer global pour définir :

origines autorisées

méthodes autorisées

mapping des routes à protéger

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Pourquoi la config WebMvcConfigurer est ignorée avec Spring Security ?

A

Parce que Spring Security implémente sa propre couche CORS, qui prend la priorité sur la configuration MVC standard.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Configuration CORS avec Spring Security ?

A

Déclaration d’un bean CorsConfigurationSource qui définit :
- origin(s) autorisée(s)
- méthodes HTTP permises
- headers autorisés
- scope des routes concernées

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Où placer la configuration CORS avec Spring Security ?

A

Dans la classe SecurityConfig, au sein du package security.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

CORS et sécurité backend : rôle principal ?

A

Contrôler qui peut accéder à l’API, et avec quelles méthodes, afin de protéger les endpoints exposés.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly