Laden...

Zugriffe nur von bestimmter Domain zulassen

Erstellt von Christoph K. vor einem Jahr Letzter Beitrag vor einem Jahr 656 Views
Christoph K. Themenstarter:in
821 Beiträge seit 2009
vor einem Jahr
Zugriffe nur von bestimmter Domain zulassen

Hallo,

ich habe ein ASP.Net MVC 5.0 Projekt und möchte das auf eine bestimmte Action eines Controllers nur von einer bestimmten Domain zugegriffen werden kann.
Letztendlich soll ein Javascript auf diversen Webseiten integriert werden können, welches zur Funktion auf mein Backend zugreifen muss.
Hierbei soll natürlich verhindert werden, dass sich jemand das Javascript einfach kopiert und auf einer unauthorisiertenSeite verwendet.
Die Zugriffe sollen nur von authorisierten Domain ermöglicht werden.
Man kann sich das ganze so vorstellen, wie der Code von Google Analytics. Hier kann ich ja ebenfalls den Code und die Analytics Property auslesen. Es bringt jedoch nichts, den Code auf meiner eigenen Seite einzubinden, da nur Zugriffe von der Ausführung auf der ausgewählten Domains getrackt werden.

Wie realisiere ich so etwas?

Gruß
Christoph

16.835 Beiträge seit 2008
vor einem Jahr

Logischerweise geht sowas nicht; das kannst Du auf Server-Seite nicht verhindern, weil Du den Ursprung eines Requests nicht kennen kannst. Der Request erfolgt logischerweise nicht von der Domain, sondern von einem Client.
Ich kann mir nen Script bauen, das Google Analytics direkt anspricht und Google kann das nicht verhindern. Daher funktioniert Google Analytics auch nicht so. Bei GA ist das eine Mischung aus Origin und Google Analytics Id.

Browser wiederum können das; das nennt sich CORS und ist ein Sicherheitsfeature, das per default aktiv ist.
Cross-Origin Resource Sharing (CORS) - HTTP | MDN

Enable Cross-Origin Requests (CORS) in ASP.NET Core

Christoph K. Themenstarter:in
821 Beiträge seit 2009
vor einem Jahr

Wie macht das denn dann z.B. Google Analytics?

16.835 Beiträge seit 2008
vor einem Jahr

Auch Google Analytics kann das nicht.
Basics:
https://security.stackexchange.com/questions/106892/how-does-google-analytics-prevent-fake-data-attacks-against-an-entitys-traffic
how-does-google-analytics-prevent-traffic-spoofing#2419115

Es ist unmöglich das auf HTTP Ebene zu filtern.
Google hat eher eine Logik, um invalide Requests herauszufiltern - aber halt nicht auf "Controller"-Ebene. So funktioniert halt HTTP leider nicht.