Запретить выполнение 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="*"/>
Больше информации об этом здесь: файл кросс-доменной политики