Aller au contenu

Secure Cross-Origin Resource Sharing (CORS) Policy

Politique de partage des ressources entre origines multiples (CORS) sécurisée

Description

Le Cross-Origin Resource Sharing (CORS) est une fonctionnalité de sécurité appliquée via les en-têtes HTTP qui permet à un client web de demander de manière sécurisée des ressources à un serveur situé sur un domaine différent. Pour maintenir des normes de sécurité strictes, l'application met en œuvre une politique CORS sécurisée en autorisant uniquement les requêtes provenant d'origines de confiance. Ceci est réalisé en spécifiant une liste blanche de domaines approuvés, atténuant ainsi efficacement le risque d'accès non autorisé et d'attaques potentielles.

Caractéristiques principales de l'implémentation CORS :

  1. Contrôle d'origine : CORS permet aux serveurs de spécifier quels domaines sont autorisés à accéder à leurs ressources à l'aide de l'en-tête Access-Control-Allow-Origin. Cela empêche l'accès inter-domaines non autorisé.

  2. Requêtes de pré-vérification (Preflight) : Pour certaines méthodes HTTP ou en-têtes personnalisés, les navigateurs envoient une requête OPTIONS de pré-vérification avant la requête réelle. Cela vérifie si le serveur autorise la méthode et les en-têtes prévus avec les en-têtes Access-Control-Allow-Methods et Access-Control-Allow-Headers.

  3. Méthodes HTTP autorisées : Le serveur peut spécifier quelles méthodes HTTP (par exemple, GET, POST, PUT, etc.) sont autorisées à l'aide de l'en-tête Access-Control-Allow-Methods.

  4. En-têtes autorisés : Les serveurs peuvent déclarer quels en-têtes de requête peuvent être utilisés dans la requête réelle avec l'en-tête Access-Control-Allow-Headers.

  5. Support des identifiants : CORS peut gérer les identifiants (cookies, authentification HTTP) en utilisant l'en-tête Access-Control-Allow-Credentials, permettant aux serveurs d'autoriser ou de bloquer les identifiants dans les requêtes inter-origines.

  6. Mise en cache des réponses de pré-vérification : Les serveurs peuvent spécifier pendant combien de temps les résultats d'une requête de pré-vérification peuvent être mis en cache à l'aide de l'en-tête Access-Control-Max-Age, ce qui réduit le nombre de requêtes de pré-vérification envoyées.

  7. En-têtes de réponse exposés : Le serveur peut spécifier explicitement quels en-têtes de réponse peuvent être accédés par le navigateur à l'aide de l'en-tête Access-Control-Expose-Headers.

Cette implémentation sécurisée de CORS garantit que les utilisateurs peuvent interagir avec l'application sans exposer d'informations sensibles à des acteurs malveillants.

Recommandation

L'implémentation est sécurisée, aucune recommandation ne s'applique.

Liens