Klasa: Security
Kompatybilność: ActionScript 1.0, Flash 6+
allowDomain(domena1:String) : Void
Pozwala plikom SWF oraz HTML w identyfikowaniu dostępu domen obiektów oraz zmiennych w pliku SWF, który zawiera wywołanie allowDomain()
.
Jeśli dwa pliki SWF są hostowane na tej domenie, na przykład, http://funkcj.net/movieA.swf oraz http://funkcje.net/movieB.swf -- wtedy movieA.swf może sprawdzać oraz modyfikować zmienne, obiekty, właściwości, metody itp w pliku movieB.swf, oraz movieB.swf może robić to samo dla movieA.swf. To się nazywa cross-movie scripting lub cross-scripting.
Jeśli dwa pliki SWF są hostowane na dwóch innych serwerach, na przykład http://funkcje.net/movieA.swf oraz http://wp.pl/movieB.swf -- wtedy domyślnie, Flash Player nie pozwala movieA.swf na dostęp do movieB.swf, lub movieB.swf do movieA.swf. Plik SWF nadaje innemu pliku SWF z innego serwera pozwolenie na dostęp przez wywołanie System.security.allowDomain()
. To nazywa się cross-domain scripting. Przez wywołanie System.security.allowDomain("funkcje.net")
, movieB.swf nadaje movieA.swf pozwolenie na dostęp do movieB.swf.
Pozwolenia cross-domain są ustanowione jako asymetryczne. Czyli jeśli w poprzednim przykładzie, movieA.swf miało dostęp do movieB.swf, ale movieB.swf nie posiada go już.Możesz ustawić symetryczne pozwolenie po przez wywołania w obydwu plikach SWF metody System.security.allowDomain().
Dodatkowo, aby zabezpieczać pliki SWF od cross-domain dostępu, Flash Player zabezpiecza SWF pliki osadzone przez pliki HTML.
Różnie wynikające z wersji Flash Player'a cross-domain reguły bezpieczeństwa są różne oraz ich trendy sie zmieniały podczas innych wersji odtwarzacza.
Wersja |
allowDomain() potrzeba? |
allowInsecureDomain() potrzeba? |
Który SWF musi wywołać allowDomain() lub allowInsecureDomain()? |
Co może być określone przez allowDomain() lub allowInsecureDomain()? |
---|---|---|---|---|
5 lub wcześniejszy |
Nie |
Nie |
N/A |
N/A |
6 |
Tak, jeśli super domeny nie sa takie same |
Nie |
Plik SWF, który ma być dostępny, lub każdy plik SWF w tej samej superdomenie jak plik SWF dostępowy |
|
7 |
Tak, jeśli domeny nie sa takie same |
Tak, jesli wykonywany jest dostęp HTTP-to-HTTPS (nawet jeśli domeny są te same) |
Plik SWF, który ma być dostępny, lub każdy plik SWF w tej samej superdomenie jak plik SWF dostępowy |
|
8 lub wyższy |
Tak, jeśli domeny nie sa takie same |
Tak, jesli wykonywany jest dostęp HTTP-to-HTTPS (nawet jeśli domeny są te same) |
SWF, który ma być dostępny |
|
Listing
loadMovie("http://www.funkcje.net/MovieB.swf", moj_mc);
Ranga: Administrator serwisu Punktów: 0