dedlfix: Ajax: HTTP verweigert Aufruf von HTTPS

Beitrag lesen

problematische Seite

Tach!

was ich nicht kapiere, ist, wer die Header setzen muss.

Site A liefert Script aus, das AJAX Zugriffe auf Site B machen weil. Muss der Server von A seinem eigenen Script per Header gestatten, sich an Site B zu wenden? Wozu? Er kann doch gestatten was er will und jeglicher Schutz ist vorbei. Oder muss Site B Anfragen von Scripten von Site A erlauben?

Ersteres nicht. B muss dem anfragenden Browser erzählen, ob Zugriffe von unter A laufenden Dokumenten oder * erlaubt sind.

Dabei gilt: Nicht nur Server A hat ein oder mehrere Dokumente ausgeliefert, auch nachgeladenen Scripte laufen unter A, egal wo sie herkommen.

Woran erkennt sie dann zuverlässig Scripte von A?

Am Origin-Header, den der Browser mitsendet. Meist hat man aber fest eingestellt, was in Access-Control-Allow-Origin und Co. geantwortet werden soll, und was in Origin steht ist irrelevant.

Das Ganze ist ja kein Authorization-Feature, sondern eins für die Browser-Sicherheit.

Und was der Spaß überhaupt soll.

Schutz der unbedarften Anwender mit Standard-Browsern.

Das setzt doch immer eine vertrauenswürdige Kontrollinstanz voraus, damit es überhaupt funktioniert.

Server A mit HTTPS. Und Server B, der dem Browser sagt, ob das Script von A zugreifen darf.

Außerhalb vom Browser fehlt die, und wer Böses will, ist ja frei. keinen Browser zu nutzen. Wo ist also der Sinn des ganzen?

Wenn du den Anwender dazu bringen kannst, was anderes als den Standard-Browser zu verwenden, hast du sowieso schon gewonnen.

dedlfix.