Testeur CORS
Testez et déboguez les politiques de partage de ressources entre origines (CORS) et les requêtes API
Paramètres de Requête
Configurez votre requête API pour le test
Exemples de Requêtes
Essayez ces requêtes API prédéfinies
Informations CORS
Informations de base sur CORS
Qu'est-ce que CORS ? CORS (Cross-Origin Resource Sharing) est un mécanisme qui permet aux navigateurs web d'effectuer des requêtes cross-origin (domaine, protocole ou port différent) à partir de scripts exécutés dans le navigateur.
En-têtes CORS Clés
Access-Control-Allow-Origin: Spécifie les origines autorisées à accéder à la ressourceAccess-Control-Allow-Methods: Spécifie les méthodes HTTP autoriséesAccess-Control-Allow-Headers: Spécifie les en-têtes HTTP qui peuvent être utilisésAccess-Control-Allow-Credentials: Spécifie s'il faut inclure les identifiants (cookies, authentification HTTP)
💡 Solutions CORS
Solutions Côté Serveur
1. Express.js (Node.js):
const cors = require('cors');
app.use(cors({
origin: 'https://example.com',
methods: ['GET', 'POST'],
credentials: true
}));2. Spring Boot (Java):
@CrossOrigin(origins = "https://example.com")
@RestController
public class ApiController { ... }Solutions Côté Client
1. Utilisation d'un Serveur Proxy:
// package.json (React)
"proxy": "http://localhost:3001"2. JSONP (GET uniquement):
// Solution limitée mais simple
fetch('api?callback=handleResponse')🔧 Configuration CORS par Environnement
Next.js
// next.config.js
module.exports = {
async headers() {
return [
{
source: '/api/:path*',
headers: [
{
key: 'Access-Control-Allow-Origin',
value: '*'
}
]
}
]
}
}Nginx
location /api {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods
"GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers
"Content-Type, Authorization";
}Apache
# .htaccess
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods
"GET, POST, OPTIONS"
Header always set Access-Control-Allow-Headers
"Content-Type, Authorization"Configuration CORS par Environnement
Scénarios de Test
- • Requête Simple: Tester le comportement CORS de base avec des requêtes GET
- • Requête Pré-vol: Tester les requêtes pré-vol avec les méthodes PUT/DELETE
- • En-têtes Personnalisés: Tester les requêtes avec l'en-tête Authorization
- • Identifiants: Tester les requêtes avec des cookies
- • Gestion des Erreurs: Tester les scénarios d'échec
Considérations de Sécurité
- • Soyez prudent avec l'utilisation de caractères génériques (*) en raison des risques de sécurité
- • Principe du moindre privilège: N'autorisez que les origines et méthodes nécessaires
- • Restrictions des identifiants: N'autorisez que des origines spécifiques lors de l'inclusion d'identifiants
- • Examen régulier: Examinez et mettez à jour périodiquement les politiques CORS
Conseils de Débogage CORS
Outils de Développement du Navigateur
- • Vérifier les requêtes OPTIONS dans l'onglet Réseau
- • Rechercher les messages d'erreur CORS dans la Console
- • Vérifier les en-têtes CORS dans les En-têtes de Réponse
Outils Utiles
- • Testeur CORS (cet outil)
- • Postman (pour les tests API)
- • Commande curl (pour les tests directs du serveur)