Hallo Linuchs,
das crossorigin-Attribut VERSCHÄRFT die Situation und macht sie nicht besser. Egal ob mit "anonymous" oder mit "use-credentials". Ungültige Werte wie "anonymus" werden übrigens als "anonymous" interpretiert.
Wenn Du crossorigin nicht angibst, wird das Script ohne Verwendung von CORS geladen, d.h. dann kannst Du Scripte von beliebigen Stellen inkludieren. Aber wenn Du ihn angibst, dann wird CORS beachtet und Du bekommst das Script nur dann, wenn die CORS-Header es zulassen.
(crossorigin="anonymus") - Nun wird der iframe Inhalt gar nicht mehr geladen.
Was merkwürdig ist, weil der iframe-Inhalt nicht von der Ladbarkeit des Scripts abhängen sollte. Oder doch? Wird der Inhalt komplett vom Script generiert?
weiß ich nicht, wohin mit den Zeilen
Access-Control-Allow-Origin: https://shantyfreun.de
Das ist ein Response-Header. Den muss der Server von shanty-fsd.de setzen, damit die Seite, die von dort geladen wird, Daten von shantyfreun.de lesen darf. Das betrifft vor allem Ajax-Zugriffe (XMLHttpRequest und fetch). Scripte betrifft es nur, wenn das crossorigin-Attribut gesetzt ist. Setzen kannst Du den Header aus PHP heraus oder in der .htaccess Datei.
Disclaimer: Wenn Du den iframe mit dem sandbox-Attribut lädst, sieht die Sache nochmal anders aus, dieses Attribut aktiviert einen Paranoia-Modus, in dem alles verboten ist, was Du nicht ausdrücklich erlaubst.
Warum kann die Seite https://shanty-fsd.de/ einen iframe mit src="https://remso.eu/?VIP=1010&LO=positionen&posi=19" zeigen?
Weil das Zeigen kein Problem ist. Und Du dort kein postMessage machst.
Rolf
sumpsi - posui - obstruxi