Kuatsu Logo
Zurück zum Lexikon
27. Juli 2024 1 Minute Lesezeit

CORS (Cross-Origin Resource Sharing)

CORS (Cross-Origin Resource Sharing) ist ein sicherheitsrelevantes Feature von Webbrowsern, das es Web-Anwendungen ermöglicht, Ressourcen von einer anderen Domain anzufordern als derjenigen, von der die Anwendung selbst stammt. Dies kann hilfreich sein, wenn eine Webanwendung Daten von einer externen API oder einem anderen Webservice benötigt, der auf einer separaten Domain gehostet wird.

Standardmäßig beschränken Browser aus Sicherheitsgründen solche Anfragen, um das Risiko von Cross-Site-Scripting (XSS) und anderen Angriffen zu minimieren. CORS definiert eine Methode, wie Web-Server Header verwenden können, um die Browser darüber zu informieren, welche Anfragen von welchen Domains akzeptiert werden. Wenn der Server die Anfrage erlaubt, fügt er spezielle Header wie Access-Control-Allow-Origin hinzu, die dem Browser signalisieren, dass die Anfrage sicher ist und die Daten zurückgeschickt werden dürfen.

Ein einfaches Beispiel wäre eine React Native App, die Daten von einer externen API abruft. Ohne ordnungsgemäß konfiguriertes CORS würde die Browser-Sicherheitsrichtlinie diese Anfrage blockieren. Der Server der externen API müsste CORS-Header aktivieren und konfigurieren, um Anfragen von der Domain der React Native App zuzulassen. Dies könnte durch Hinzufügen des folgenden Headers zum Server konfiguriert werden:

http Access-Control-Allow-Origin: https://your-app-domain.com

Den Entwicklern stellt CORS also sicher, dass nur autorisierte Zugriffe auf Ressourcen von anderen Domains erfolgen dürfen, während gleichzeitig die Interoperabilität von Web-Apps und Diensten ermöglicht wird. Für App- und Web-Entwickler ist es daher wichtig, grundlegendes Verständnis und Kontrolle über CORS-Konfigurationen zu haben, um sowohl die Sicherheit als auch die Funktionalität ihrer Anwendungen zu gewährleisten.