CORS (Cross-Origin Resource Sharing)
Kurz: Browser erlauben Skripten einer Seite standardmäßig nicht, Antworten von einer anderen Herkunft (Domain, Port, Protokoll) zu lesen. CORS ist der Mechanismus, mit dem ein Server das gezielt erlaubt.
Genauer: Die Regel heißt Same-Origin-Policy. Mit dem Antwort-Header Access-Control-Allow-Origin erklärt ein Server, dass bestimmte fremde Herkunft zugreifen darf. Bei Anfragen mit besonderen Methoden oder Headern schickt der Browser vorher eine „Preflight”-Anfrage (OPTIONS).
Im Detail
- Häufiger Fehler: „blocked by CORS policy” in der Konsole. Die Ursache liegt beim Server, nicht im Browser-Code.
*mit Cookies: Ein Platzhalter für die Herkunft ist bei Anfragen mit Anmeldedaten nicht erlaubt.- Kein Schutz des Servers: CORS schützt Nutzer im Browser. Ein Programm außerhalb des Browsers ignoriert es.
- Schutz vor CSRF: Ist es nicht, dafür braucht es CSRF (Cross-Site Request Forgery)-Schutz.
- Öffentliche Dateien: Schriften und Programmdateien, die fremde Seiten laden sollen, brauchen entsprechende Header.
Siehe auch: Security-Header (HSTS, CSP und weitere), REST