Я хочу разрешить моим пользователям встраивать свои собственные Flash-анимации в свои сообщения. Обычно сам файл размещается на каком-нибудь бесплатном хостинге изображений. Я бы фактически не загружал флеш-память, если пользователь не нажимал кнопку для воспроизведения (чтобы ничего не воспроизводилось автоматически при загрузке страницы). Я знаю, что люди могут сделать из флэш-памяти действительно надоедливую чушь, но я не могу найти никакой информации о потенциальном серьезном ущербе, который флэш-приложение может нанести зрителю.
Небезопасно встраивать просто любой флеш-файл из интернета? Если да, как я могу позволить пользователям встраивать невинные анимации, но при этом не допускать вредоносных приложений?
редактировать:
Насколько я понимаю, наиболее очевидной угрозой является перенаправление ActionScript на вредоносный сайт.
Adobe говорит, что вы можете установить allowScriptAccess = never strong > и allowNetworking = none, и swf не должен иметь доступа ни к чему, кроме себя. Это решит все мои проблемы?
У Flash есть некоторые изящные меры безопасности. Разрешать пользователям загружать SWF-файлы на ваш сайт и встраивать их небезопасно, вы в основном настраиваете себя для XSS-атаки.
Однако разрешить им хотлинк не должно быть проблемой. SWF-файл будет заблокирован для домена, на котором он размещен, и ему не разрешено вызывать URL-адреса за пределами этого пространства.
Он по-прежнему будет открыт для "злых ссылок" (я уверен, что для них есть подходящее слово), и под этим я подразумеваю наличие регулярных ссылок на yoursite.com/admin/deleteallpages.php, которые он пытается загрузить "как" вы . Однако он не сможет использовать эти данные каким-либо образом, это будет в основном то же самое, что и обычная ссылка, и я предполагаю, что современные cms защищены от такого типа атак.
Вы можете получить такую же защиту, разместив свои флеш-накопители на другом поддомене, поскольку flash считает его совершенно другим доменом.
Ответ 2 · рейтинг 3 · RickDT
При встраивании SWF-файлов из неизвестных источников также рекомендуется использовать маску для загрузчика, чтобы загруженный SWF-файл не занимал больше места на экране, чем ожидалось.
Псевдокод для этого:
var maskSpr : Sprite = new Sprite();
maskSpr.graphics.beginFill();
maskSpr.graphics.drawRect(0,0,safeWidth,safeHeight);
maskSpr.graphics.endFill();
myLdr.mask = maskSpr;
Ответ 3 · рейтинг 2 · Community
На самом деле существует несколько вариантов.
Для полной безопасности установите allowScriptAccess = never и allowNetworking = none, и swf не будет иметь доступа ни к чему, кроме себя.
ПРИМЕЧАНИЕ: allowNetworking есть только в Flash Player 9 (он был создан в ответ на различных червей myspace), поэтому вам нужно будет использовать SWF-объект, чтобы гарантировать, что только пользователи с правильной версией flash player или лучше загружают flash.
Если вы хотите включить такие вещи, как видео на YouTube, вы не можете установить для allowNetworking значение "none". К счастью, для этого поля существует промежуточный уровень безопасности - "внутренний", который позволяет SWF взаимодействовать со своим размещенным доменом.
Также обратите внимание, что вам лучше не иметь на своем сайте файл crossdomain.xml - подробнее об этих опасностях см. здесь и в других местах.
Вот некоторые другие сайты, которые упоминаются другими ответами, которые более подробно рассматриваются:
В качестве примера в Drupal есть сценарий, показывающий, что разрешение на использование флэш-содержимого от пользователей может быть проблемой безопасности.
Ответ 5 · рейтинг 1 · dsims
Adobe сообщает, что вы можете установить allowScriptAccess = never и allowNetworking = none, и swf не должен иметь доступа ни к чему, кроме самого себя. Хотя allowNetworking есть только в Flash Player 9, поэтому пользователи с более ранними версиями Flash все равно будут уязвимы для некоторых эксплойтов.
Создание более безопасных веб-приложений SWF: элементы управления безопасностью в HTML-коде
Как ограничить содержимое SWF из HTML
Ответ 6 · ceejayoz
Да, это небезопасно.
Нет простого способа разрешить это. У вас может быть белый список доменов, который разрешает доступ YouTube, Hulu и т. Д., Но белый список по своей сути сложен - вы будете постоянно обновлять.