fredag den 11. juni 2010

Brug crossdomain.xml til at overføre data

I nyere versioner af Flash (7+) er der implementeret en security sandbox restriction: en swf-fil på ét domæne nægter adgang til data fra en fil på et andet domæne. For at dette skal kunne lade sig gøre skal der oprettes en XML fil med navnet crossdomain.xml.

Filen crossdomain.xml skal placeres i roden af sitet og kan se sådan ud:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="www.ditdomæne.com" />
<allow-access-from domain="*.ditdomæne.com" />
<allow-access-from domain="234.123.18.1" />
</cross-domain-policy>

Hvis du bruger IP-modellen skal du også skrive IP-adressen i flash-filen og IKKE domænenavnet!

Eller du kan tillade at alle domæner inddrages:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from  domain="*" />
</cross-domain-policy>

Herefter skal følgende linie tilføjes i Flash-filen.
System.security.loadPolicyFile("http://www.ditdomæne.com/crossdomain.xml");

Mere om croosdomain.xml:
• Tutorial om crossdomain hos Flashvalley
• Google Code om ArticleFlashSecurityPolicyAttack
Transferring data across domains Tutorialized

Ingen kommentarer: