CORS Policy Tester
Teste und debugge CORS-Konfigurationen mit simulierten Browser-Szenarien.
Trennen Sie mehrere Ursprünge durch Kommas. Verwenden Sie *, um jeden Ursprung zuzulassen (aber nicht mit Anmeldedaten)
Über dieses Tool
Cross-Origin Resource Sharing (CORS) ist ein kritischer Websicherheitsmechanismus, der kontrolliert, wie Browser Anfragen zwischen verschiedenen Domänen behandeln. Fehlerhaft konfigurierte CORS-Richtlinien können dazu führen, dass Ihre Anwendung stillschweigend fehlschlägt, während zu permissive Richtlinien Ihre API unerwünschtem Zugriff aussetzen. CORS Policy Tester hilft Entwicklern, die CORS-Konfiguration ihres Servers zu verstehen und zu validieren, indem er echte Browserszenarien simuliert, ohne mehrere Domänen einrichten oder Testcode bereitstellen zu müssen.
Um dieses Tool zu verwenden, geben Sie die URL Ihres API-Endpunkts ein und wählen Sie das Szenario aus, das zu Ihrem Anwendungsfall passt, wie Anfragen desselben Ursprungs, Cross-Origin-Anfragen mit einfachen Headern oder komplexe Preflight-Anfragen mit benutzerdefinierten Headern oder HTTP-Methoden. Das Tool simuliert den CORS-Validierungsprozess des Browsers und zeigt Ihnen genau, welche Header Ihr Server als Antwort senden sollte, ob die Anfrage erfolgreich wäre und welche Fehlermeldungen Browser anzeigen würden, wenn die Richtlinie fehlerhaft konfiguriert ist. Dies macht es einfach, CORS-Probleme vor dem Einsatz in der Produktion zu debuggen.
Dieses Tool ist für Entwickler, die mit REST-APIs, Microservices oder anderen Backends arbeiten, die Anfragen von Webclients auf verschiedenen Domänen verarbeiten müssen, von unschätzbarem Wert. Es ist besonders hilfreich bei der Entwicklung in lokalen Umgebungen, in denen Ihr Frontend und Backend auf verschiedenen Ports ausgeführt werden, oder bei der Integration von Drittanbieter-Services. Durch das Testen verschiedener CORS-Szenarien können Sie sicherstellen, dass Ihre API sowohl sicher als auch funktionsfähig ist.
Häufig gestellte Fragen
Code-Implementierung
# 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.