Запретить выполнение SWF-файла сценариев, которые загружают внешние файлы

Я хочу знать, возможно ли предотвратить загрузку созданного пользователем SWF-файла внешним контентом. Если пользователям разрешено загружать SWF-файлы на мой сайт и отображать их SWF-файлы на своих страницах, можно запретить этому SWF-файлу загружать сценарии с внешними изображениями и т. Д.

Чтобы уточнить:

SWF будет храниться в том же домене, что и веб-сайт.

Например

www.example.com/user123

будет отображать файл:

www.example.com/usercontent/swfs/user123.swf

Как я могу предотвратить запрос:

www.anotherexample.com/images/someimage.jpg

Я думаю, что, возможно, предварительный загрузчик будет работать, поэтому все SWF-файлы (которые я не могу контролировать) загружаются в предварительный загрузчик (который я могу создать / контролировать), в котором есть код, который мешает дочернему SWF выполнять функции as3, такие как:

var imageLoader:Loader = new Loader();
var image:URLRequest = new URLRequest("www.anotherexample.com/images/someimage.jpg");

Поэтому мне нужно было бы заблокировать все функции флэш-памяти, которые загружают контент.

Также необходимо знать, как работать с actioncript 2. Это можно ограничить, разрешив только как-то as3 swfs.

1 ответ

Я думаю, что вы смотрите на установку этого в своем теге объекта встраивания для SWF:

<param name="allowScriptAccess" value="sameDomain" />

Значением по умолчанию для allowScriptAccess является "sameDomain", что означает, что если SWF-файл и окружающий HTML-код обслуживались с одного и того же полного доменного имени, то SWF-файл может связываться с DOM-файлом HTML и получать доступ к данным, таким как файлы cookie или данные форм. Если HTML и SWF обслуживаются из разных доменов, SWF не может получить доступ к окружающему HTML.

Вы также можете посмотреть:

<allow-access-from domain="*"/>

Больше информации об этом здесь: файл кросс-доменной политики

Другие вопросы по тегам