CORS Policy Tester
Tester et déboguer les configurations CORS avec des scénarios de navigateur simulés.
Séparez plusieurs origines par des virgules. Utilisez * pour autoriser n'importe quelle origine (mais pas avec les identifiants)
À propos de cet outil
Le partage des ressources entre origines (CORS) est un mécanisme de sécurité web critique qui contrôle la façon dont les navigateurs gèrent les demandes entre différents domaines. Les politiques CORS mal configurées peuvent faire échouer silencieusement votre application, tandis que les politiques trop permissives exposent votre API à des accès indésirables. CORS Policy Tester aide les développeurs à comprendre et valider la configuration CORS de leur serveur en simulant des scénarios réels du navigateur sans avoir besoin de configurer plusieurs domaines ou de déployer du code de test.
Pour utiliser cet outil, entrez l'URL de votre endpoint API et sélectionnez le scénario qui correspond à votre cas d'usage, comme les demandes de même origine, les demandes entre origines avec des en-têtes simples, ou les demandes de vérification préalable complexes avec des en-têtes ou des méthodes HTTP personnalisés. L'outil simulera le processus de validation CORS du navigateur et vous montrera exactement quels en-têtes votre serveur doit envoyer en réponse, si la demande réussirait, et quels messages d'erreur les navigateurs afficheraient si la politique est mal configurée. Cela facilite le débogage des problèmes CORS avant qu'ils ne se propagent en production.
Cet outil est inestimable pour les développeurs travaillant avec des API REST, des microservices ou tout backend qui doit servir des demandes de clients web sur différents domaines. C'est particulièrement utile lors du développement dans des environnements locaux où votre frontend et backend s'exécutent sur des ports différents, ou lors de l'intégration de services tiers. En testant divers scénarios CORS, vous pouvez vous assurer que votre API est à la fois sécurisée et fonctionnelle.
Questions Fréquentes
Implémentation du Code
# CORS headers generator (Flask example)
from flask import Flask, request, jsonify
app = Flask(__name__)
CORS_CONFIG = {
"allowed_origins": ["https://example.com", "https://app.example.com"],
"allowed_methods": ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
"allowed_headers": ["Content-Type", "Authorization", "X-Requested-With"],
"allow_credentials": True,
"max_age": 86400,
}
def add_cors_headers(response, origin):
allowed = CORS_CONFIG["allowed_origins"]
if origin in allowed or "*" in allowed:
response.headers["Access-Control-Allow-Origin"] = origin
if CORS_CONFIG["allow_credentials"]:
response.headers["Access-Control-Allow-Credentials"] = "true"
response.headers["Access-Control-Allow-Methods"] = ", ".join(CORS_CONFIG["allowed_methods"])
response.headers["Access-Control-Allow-Headers"] = ", ".join(CORS_CONFIG["allowed_headers"])
response.headers["Access-Control-Max-Age"] = str(CORS_CONFIG["max_age"])
return response
@app.before_request
def handle_preflight():
if request.method == "OPTIONS":
response = app.make_default_options_response()
return add_cors_headers(response, request.headers.get("Origin", ""))
@app.after_request
def apply_cors(response):
origin = request.headers.get("Origin", "")
return add_cors_headers(response, origin)
@app.route("/api/data")
def data():
return jsonify({"message": "CORS configured successfully"})Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.