1. Was ist die Same-Origin-Policy (SOP)?
Die Same-Origin-Policy (SOP) ist eine zentrale Sicherheitsgrenze moderner Browser. Sie verhindert, dass Skripte auf https://bank.de unbefugt auf Cookies oder Fetch-Antworten von https://angreifer.de zugreifen.
Zwei URLs besitzen denselben Ursprung (Same Origin) genau dann, wenn Protokoll, Host (Domain) und Port exakt übereinstimmen:
https://api.example.com:443 vs https://example.com:443 → CROSS-ORIGIN (Subdomain weicht ab)http://example.com:80 vs https://example.com:443 → CROSS-ORIGIN (Protokoll weicht ab: HTTP vs HTTPS)https://example.com/app vs https://example.com/api → SAME-ORIGIN (Pfadunterschiede sind zulässig)2. Wie CORS sicheren Cross-Origin-Zugriff ermöglicht
CORS (Cross-Origin Resource Sharing) gestattet Servern, über HTTP-Header genau zu deklarieren, welche fremden Ursprünge Zugriff auf die Daten erhalten dürfen:
- Access-Control-Allow-Origin: Legt berechtigte Ursprünge fest (z. B.
https://app.curious-techie.com). - Access-Control-Allow-Methods: Erlaubte HTTP-Methoden (z. B.
GET, POST, PUT, DELETE). - Access-Control-Allow-Headers: Zulässige Anfrage-Header (z. B.
Content-Type, Authorization). - Access-Control-Max-Age: Cache-Dauer der OPTIONS-Preflight-Antwort in Sekunden.
3. Preflight OPTIONS-Anfragen & Caching
Bei komplexen Anfragen (wie JSON-Payloads mit application/json oder Authorization-Headern) sendet der Browser automatisch eine vorgeschaltete HTTP OPTIONS Preflight-Anfrage.
4. Die Falle aus Anmeldedaten und Wildcard (*)
Ein gravierender Konfigurationsfehler bei sitzungsbasierten API-Anfragen:
Browser verweigern die Auswertung strikt, wenn die Wildcard * mit aktivierten Anmeldedaten kombiniert wird. Der Server muss den spezifischen geprüften Origin-Header zurückgeben.