Laden...

Was ist CORS, wie funktioniert es und welchen Vorteil bringt es?

Erstellt von Rioma vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.389 Views
R
Rioma Themenstarter:in
228 Beiträge seit 2013
vor 6 Jahren
Was ist CORS, wie funktioniert es und welchen Vorteil bringt es?

Hallo zusammen,

ich bräuchte mal eine Klarstellung bezüglich CORS.

Ich habe bereits einige Erklärungen gelesen, allerdings ist bisher nicht alles klar.

Ausgangspunkt: Frontend und Backend laufen nicht unter der gleichen origin.

Damit die SOP nicht verletzt wird, muss ich nun über die entsprechende CORS-Middlware für ASP.NET Core die richtigen Header setzen lassen.

Somit ist der Zugriff auf das Backend kein Problem.

Aber an welcher Stelle wird nun die Sicherheit erhöht? (Clientseitig, Serverseitig)

Ich würde vermuten, dass damit der Client im Browser geschützt werden soll. Aber unter welchen Bedingungen ist die Sicherheit höher?

Vielen Dank.

M
177 Beiträge seit 2009
vor 6 Jahren

Stell dir vor, jemand konnte erfolgreich JavaScript Code in deine Seite einschleusen. Nun kann dieser weiteren Code über Ajax nachladen. Das wird mit den CORS teilweise verhindert. Der Browser schickt ein Request mit orign x.at. Der Backend Antwortet unter y.at. Das kommt dem Browser seltsam vor und blockiert den Request.

1.029 Beiträge seit 2010
vor 6 Jahren

Hi,

naja - das Ganze soll eigentlich deine Backend-Daten schützen - so, dass die Daten von deinem Backend eben nur vom Backend und auch vom erlaubten Frontend abgerufen werden können. (Jedenfalls direkt z.B. im Browser via Ajax)

Beispiel:
Du baust ein Frontend und ein Backend für eine Wettervorhersage, baust das ganze ordentlich mit Ajax auf.

Ohne CORS:
XYZ findet die Idee cool - setzt ein Frontend auf - und nutzt ohne Erlaubnis dein Backend.

Mit CORS:
Dein Backend sagt: ist nur für mein Frontend gedacht.

LG

@mfe: Gegen XSS war das nicht gedacht wenn ich mich recht entsinne...

3.003 Beiträge seit 2006
vor 6 Jahren

@mfe: Gegen XSS war das nicht gedacht wenn ich mich recht entsinne...

Nein. Wer Schadcode auf eine Webseite schleusen kann, kriegt auch einen Server aufgesetzt, der mit scheinbar korrektem CORS-Header antwortet.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

R
Rioma Themenstarter:in
228 Beiträge seit 2013
vor 6 Jahren

Das heißt ich schütze die Daten des Servers gegen unerlaubte Browser-Clients?

Ich habe es nicht getestet, aber gehe davon aus, dass ich außerhalb des Browsers die Header ohne Probleme ignorieren kann.

1.029 Beiträge seit 2010
vor 6 Jahren

Hi,

sicher geht das - und das ist auch nur ein simpler Schutz - aber es schützt zumindest vor sehr unfairer Handhabung deiner Daten.

Das Thema ist ja:
Wenn man's im Browser nicht unterbindet - dann hat einzig der Service die Traffic-Last zu alten - ohne dass z.B. über das eigene Frontend Geld mit Werbung verdient wurde - der User merkt nicht mal wo es herkommt, womit für den Asi, der das macht gerade mal noch die Last für den statischen Content bleibt. Simpelstes Beispiel: Bilder. Du machst du mit viel Mühe - und irgendwer nimmt die - aber hostet diese nicht einmal selbst sondern verlinkt einfach auf deine Ressource.

Finde das durchaus sinnvoll.

LG

R
Rioma Themenstarter:in
228 Beiträge seit 2013
vor 6 Jahren

Alles klar, danke für die Erklärung!