cors browser security
+6
Cross-Origin Resource Sharing
(CORS) ist ein Sicherheitsmechanismus in Webbrowsern, der auf der Same-Origin-Policy (SOP) basiert. Er erlaubt es Servern, Ausnahmen für den Zugriff auf ihre Ressourcen durch Skripte auf anderen Domains zu definieren. Ohne CORS würden Browser Anfragen an fremde Domains standardmäßig blockieren. Der Schutz wird durch HTTP-Header gesteuert.
Wichtige Sicherheitsaspekte von CORS:
- Funktionsweise: Browser fügen einen
Origin-Header hinzu, und der Server antwortet mitAccess-Control-Allow-Origin, um Zugriffe zu erlauben oder zu verbieten. - Preflight-Requests: Bei komplexen Anfragen (z.B. POST) sendet der Browser eine
OPTIONS-Anfrage, um zu prüfen, ob der Server die eigentliche Anfrage akzeptiert. - Best Practices:
- Vermeidung von
*: Setzen Sie denAccess-Control-Allow-Origin-Header in der Produktion niemals auf*(alle), sondern spezifizieren Sie erlaubte Domains. - Credential-Schutz: Nutzen Sie
Access-Control-Allow-Credentialsnur, wenn nötig. - HTTPS: Verwenden Sie immer HTTPS für Cross-Origin-Anfragen.
- Vermeidung von
- Fehlkonfigurationen: Falsch konfigurierte CORS-Regeln können zu Sicherheitslücken führen, wie dem Auslesen vertraulicher Daten (Information Leakage).
- Grenzen: CORS ist kein Ersatz für serverseitige Sicherheitsmaßnahmen und schützt nicht gegen Angriffe wie CSRF.
CORS schützt Benutzer, indem es verhindert, dass bösartige Websites über den Browser des Nutzers unbefugt auf Daten anderer Webseiten zugreifen