Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo, ich habe folgendes Problem.

Ich habe auf einer Seite ein Iframe mit einer digitalen Karte. Der Nutzer kann diese Karte mit der Maus bewegen und mit dem Scrollrad vergrößern bzw. verkleinern. Leider funktionieren die Touch-Gesten nicht. D.h die Touch-Events werden nicht getriggert. Der Host wird das vermutlich in naher Zukunft nichts dagegen unternehmen, deshalb hatte ich die Idee das selber zu tun und seinen Javascript-Code zu erweitern. Leider kommt mir die Cross Origin Policy in die Quere. Dafür muss das Protokoll, die Domain und der Port mit meiner Seite, die das Iframe enthält übereinstimmen.

Kann mir jemand sagen, ob ich das mit Hilfe von IIS umgehen kann? Diesen kann man ja als Reverse Proxy konfigurieren (mit URL-Rewrite und AAR Modul). Hat das schon jemand getan? Evtl. könnte ich in den Response-Header: "Access-Control-Allow-Origin: *" injizieren oder ähnliches?

Die User-Daten will ich nicht haben und die Cookies sind mir auch egal, es wird eh alles über URL-Parameter geregelt.

 

Geschrieben (bearbeitet)

Ja, das funktioniert. Das habe ich in einer ähnlichen Situation auch schon mal so gemacht.

So wie du es vor hast, geht es, es ist aber ziemlich unsicher. Du solltest den Header "Access-Control-Allow-Origin" stattdessen explizit nur für die Domain setzen. Hierfür gibt es einen kleinen Trick. Du liest bei den Request den Origin-Header aus und gleichst ihn mit einer Rewrite-Map ab. Der Client sendet den Origin-Header ja bei deinen  AJAX-Anfragen mit. In der Rewrite-Map hast du dann ein Key-Value-Paar für deine Domain. Der Trick ist, dass Key und Value exakt gleich sind. Wenn der ausgelesene Origin-Header zum Key passt, dann wird der Value in den Access-Control-Allow-Origin-Header der Response geschrieben. Wenn es keinen Eintrag in der Rewrite-Map gibt - die Domain also nicht von die legitimiert ist - dann wird der Access-Control-Allow-Origin-Header nicht gesetzt und der CORS-Schutz greift. So kannst du besser und sicherer Steuern, welche Domains für CORS zulässig sind.

Bearbeitet von hendrik232

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...