Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Was ist CORS, wie funktioniert es und welchen Vorteil bringt es?
Rioma
myCSharp.de - Member



Dabei seit:
Beiträge: 228

Themenstarter:

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

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
mfe
myCSharp.de - Member



Dabei seit:
Beiträge: 183

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers
LaTino
myCSharp.de - Experte

Avatar #avatar-4122.png


Dabei seit:
Beiträge: 3062
Herkunft: Thüringen

beantworten | zitieren | melden

Zitat
@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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von LaTino am .
"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)
private Nachricht | Beiträge des Benutzers
Rioma
myCSharp.de - Member



Dabei seit:
Beiträge: 228

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Rioma
myCSharp.de - Member



Dabei seit:
Beiträge: 228

Themenstarter:

beantworten | zitieren | melden

Alles klar, danke für die Erklärung!
private Nachricht | Beiträge des Benutzers