Avatar billede Slettet bruger
27. marts 2007 - 23:35 Der er 6 kommentarer og
1 løsning

Cross-domain ajax (som fx Google Maps)

Ajax virker kun indenfor samme domæne og port - en sikkerhedsforanstaltning som ikke alle er enige i, men sådan er det nu engang.

Hvordan gør Google det med deres Google Maps? De giver webmastere én URL til en .js som skal inkluderes, og så har man et interaktivt kort som man kan bevæge sig rundt på. Hvordan hiver de data ind på webmasterens domæne hvis de ikke bruger ajax?
Avatar billede roenving Novice
28. marts 2007 - 00:48 #1
Google maps fungerer med iframes !-)

-- og det gør alle andre google-tjenester iøvrigt også, f.eks. "Annoncer fra Goooooogle" nederst på denne side !-)
Avatar billede Slettet bruger
28. marts 2007 - 08:48 #2
Æv, nu troede jeg lige at jeg havde fundet et smuthul :)

Lægger du et svar?
Avatar billede roenving Novice
28. marts 2007 - 11:41 #3
Velbekomme '-)

-- og som der står i w3cs Working Draft om xmlHttpRequest-objektet, så skal der rejses en exception, hvis der kaldes til andre domæner end det, dokumentet kommer fra ...

-- men, som der også står, det kan tænkes, at der i fremtiden kommer eksempler på, at denne slags cross-domain scripting bliver tilladt !-)
Avatar billede Slettet bruger
28. marts 2007 - 11:53 #4
Man kunne jo håbe. Så vidt jeg kan se, så kan du allerede udnytte de potentielle sikkerhedshuller med fx. skjulte iframes. Min hjemmeside kører på flere servere, så det er vildt problematisk at skulle tage højde for, at ajax kun kan kontakte services, som kører på samme domæne.
Avatar billede roenving Novice
28. marts 2007 - 12:13 #5
Men du kan da sætte domænet med javascript !-)

-- har ikke prøvet overfor xmlHttpRequest-tingen, men du kan sætte document.domain til et domæne, der hører til samme hoveddomæne:

Eksempel:

-- du har sider, der kommer fra server1.domaine.dk, server2.domaine.dk og xyz.server1.domaine.dk, der kan du i alle html-dokumenter sætte følgende stump kode ind, så det ikke bliver cross-domain:

<script type="text/javascript">
document.domain = "domaine.dk";
</script>

-- bemærk at værdien, der sættes enten skal være selve det domæne, siden kommer fra eller et subset, der minimum består af de to bageste dele !o]
Avatar billede Slettet bruger
28. marts 2007 - 12:24 #6
Æv, der fik du lige mit håb op :)

Nej det kan ikke lade sig gøre. Jeg får stadig en "Adgang nægtet" fejl når jeg kører XMLHttpRequest.open på domaine.dk fra x.domaine.dk.
Avatar billede roenving Novice
28. marts 2007 - 12:35 #7
Tjah, jeg havde heller ikke kæmpestore forventninger ...

-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester