21. oktober 2004 - 14:49Der er
26 kommentarer og 2 løsninger
CrossSite scripting
Jeg har 2 frames som ligger på hvert sit domæne. Jeg vil gerne have at de kan kalde JavaScript's hos hinanden. Jeg kan styre indholdet af de 2 frames 100%.
Hvis det er et must, og også et must, at de skal ligge på forskellige domæner, kan du kun komme omkring det, ved virtuelt at lægge dem på samme domæne som hovedsiden ...
Hvis du henter koden til siden, som ikke ligger på samme domæne som hovedsiden vha. xmlhttprequest (et activeX-object), kan du så skrive den ind i iframen, og det vil så for browseren fremstå som om al koden stammer fra samme domæne ...
-- der er selvfølgelig den hage, at man under alle omstændigheder får sikkerheds-alerten, samt at det såvidt jeg ved kun virker i IE og Gecko-browserne (Mozilla, Netscape m.m.) på windows ...
Der er selvfølgelig nogle risici ved det. I mit sidste eks bliver den kode der sendes med i url'en eksekveret ukritisk. Det er nok ikke en god ide.
Men ved at kode det sammen, så transport.html forventer at få tingene på en bestemt måde, så kan du opsætte næsten en hvilken somhelst kommunikation. De tre filer skal jo "kende hinanden" rimelig godt.
nielsbrinck >> Er du interesseret i fremtidsikring, bør du helt klart vælge XMLHttpRequests. Dét er fremtid! ;o) Du kan være ret sikker på, at ved IE's næste opdatering, bliver denne feature udviddet væsentligt - ligesom den formodentlig bliver implementeret i de få browsere, der endnu ikke understøtter XML ordentligt. Der er ingen, der gider blive ved med at skrive specialkode til gammelt skrammel (... ta' dén Opera *Hehe*). Det skulle undre mig, om ikke iframe'en forsvinder fra WWW længe før XMLHttpRequests ;o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.