Date of update: 5/15/2011
XML Socket Server - eClever
write us
Novelties
Web feeds
Links of Interest
Zabezpečení aplikací
(tento config se týká pouze klientských aplikací vytvořených ve Flashi a Flexu)

Flash od verze 7 zavedl novou bezpečnostní politiku, která je založena na tom, že pokud máte v nějaké www doméně swf soubor, může tento swf soubor využívat prostředky pouze z této domény. Pokud chcete načítat data z jiné domény nebo využívat služeb XML Socket Serveru, který běží na jiné doméně, musíte do rootu cílové domény umístit soubor crossdomain.xml, ve kterém definujete, které domény mají k prostředkům v cílové doméně přístup.

Příklad souboru crossdomain.xml:
<cross-domain-policy>
       <allow-access-from domain="*" to-ports="507" />
       <allow-access-from domain="*.mysite.com" to-ports="507,516" />
       <allow-access-from domain="*.myothersite.com" to-ports="516-523" />
       <allow-access-from domain="www.myothersite.com" to-ports="507,516-523" />
       <allow-access-from domain="www.mysite.com" to-ports="*" />
       <allow-access-from domain="flash.mysite.com" to-ports="*" />
</cross-domain-policy>

Význam souboru je myslím zřejmý, zájemce o podrobnější popis odkazujeme na stránky Adobe Security Changes in Macromedia Flash Player 7.
http://www.adobe.com/devnet/flash/articles/fplayer_security_03.html
 
Můžete použít i jiný název bezpečnostního souboru, pak ovšem musíte ve Flashi zařídit, aby byl tento soubor do Flashe načten. To lze udělat pomocí funkce loadPolicyFile. Příklad:
System.security.loadPolicyFile("http://www.mysite.com/flash/myPolicy.xml")
Pozn. Tuto funkci musíte zavolat před prvním použitím funkcí, které přistupují do cílové domény.

Pokud provozujete XML Socket Server na samostatné doméně a využíváte ke komunikaci např. port 80 a nemáte na této doméně spuštěný http server na žádném portu, nemůže Flash z této domény načíst bezpečnostní soubor crossdomain.xml ani jiný bezpečnostní soubor, který by se načítal pomocí protokolu http. V tomto případě můžete místo protokolu http použít protokol xmlsocket.
Funkce má tvar např. System.security.loadPolicyFile("xmlsocket://socks.mysite.com:80").
Tato funkce požádá o bezpečnostní soubor samotný XML Socket Server, který si údaje přečte z eClever.config. Abyste mohli tuto funkci použít, musíte v eClever.config vyplnit sekci <cross-domain-policy>. Význam atributů je shodný s atributy v souboru crossdomain.xml.

Máte-li spuštěn http server, např. na portu 2277, můžete ve Flashi použít funkci:
System.security.loadPolicyFile("http://socks.mysite.com:2277/?action=cross-domain-policy").

Příklad policy.config

Význam jednotlivých atributů je následující:
Sekce cross-domain-policy / allow-access-from domain
domain Doména, ze které chceme povolit přístup na XML Socket Server.
to-ports Porty, na které chceme povolit přístup.






© 1992-2010 Studio dmm, all rights reserved