Вопрос

Я хочу разрешить моим пользователям встраивать свои собственные Flash-анимации в свои посты.Обычно сам файл размещается на каком-нибудь бесплатном сайте для размещения изображений.Я бы на самом деле не загружал flash, если бы пользователь не нажал кнопку для воспроизведения (чтобы при загрузке страницы ничего не воспроизводилось автоматически).Я знаю, что люди могут создавать какую-то действительно раздражающую чушь во flash, но я не могу найти никакой информации о потенциале серьезный ущерб, который приложение flash может нанести просмотрщику.

Небезопасно ли встраивать просто любой флэш-файл из Интернета?Если да, то как я могу разрешить пользователям встраивать невинные анимации, но при этом исключить вредоносные приложения?

Редактировать:

Из того, что я могу сделать, наиболее очевидной угрозой является перенаправление actionscript вас на вредоносный сайт.

Саманный говорит вы можете установить allowScriptAccess=никогда и Разрешить сетевую работу=нет и swf не должен иметь доступа ни к чему вне себя. Решит ли это все мои проблемы?

Это было полезно?

Решение 5

Adobe говорит, что вы можете установить Разрешить доступ к скрипту=никогда и Разрешить сетевую работу=none, и swf-файл не должен иметь доступа ни к чему вне себя.Хотя allowNetworking доступен только во Flash Player 9, пользователи с более ранними версиями Flash все равно будут подвержены некоторым эксплойтам.

Создание более безопасных SWF-веб-приложений :Элементы управления безопасностью В HTML-коде

Как ограничить SWF-контент из HTML

Другие советы

У Flash есть несколько аккуратных мер безопасности.Разрешать пользователям загружать SWF-файлы на ваш сайт и внедрять их небезопасно, вы, по сути, настраиваете себя на XSS-атаку.

Однако разрешить им горячую ссылку не должно быть проблемой.SWF-файл будет привязан к домену, на котором он размещен, и ему не разрешается вызывать URL-адреса за пределами этого пространства.

Он по-прежнему будет открыт для "злых ссылок" (я уверен, что для них есть подходящее слово), и под этим я подразумеваю наличие регулярных ссылок на yoursite.com/admin/deleteallpages.php, которые он пытается загрузить "от имени" вас.Однако он не сможет каким-либо образом использовать эти данные, в основном это будет то же самое, что и обычная ссылка, и я бы предположил, что современные cms защищены от такого типа атак.

Вы могли бы получить такую же защиту, разместив свои flashes на другом поддомене, поскольку flash рассматривает это так же, как совершенно другой домен.

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

Псевдокод для этого:

var maskSpr : Sprite = new Sprite();
maskSpr.graphics.beginFill();
maskSpr.graphics.drawRect(0,0,safeWidth,safeHeight);
maskSpr.graphics.endFill();
myLdr.mask = maskSpr;

На самом деле существует более одного варианта.

Чтобы быть в полной безопасности, установите allowScriptAccess=никогда и allowNetworking= нет, и swf-файл не будет иметь доступа ни к чему вне себя.

ПРИМЕЧАНИЕ:Разрешить работу с сетью можно только во Flash Player 9 (он был создан в ответ на различные вирусы-черви myspace), поэтому вам нужно будет использовать SWF-объект чтобы гарантировать, что flash загружается только у пользователей с нужной версией flash player или лучше.

Однако, если вы хотите включить такие вещи, как видеоролики YouTube, вы не можете установить для allowNetworking значение "нет".К счастью, для этого поля существует промежуточный уровень безопасности - "внутренний", который позволяет SWF-файлу взаимодействовать со своим размещенным доменом.

Также обратите внимание, что вам лучше не размещать файл crossdomain.xml на вашем сайте - узнайте больше об этих опасностях здесь и в других местах.

Вот некоторые другие сайты, которые упоминаются в других ответах, которые более подробны:

http://www.adobe.com/devnet/flashplayer/articles/secure_swf_apps_04.html

http://blogs.adobe.com/stateofsecurity/2007/07/how_to_restrict_swf_content_fr_1.html

В качестве пример В Drupal есть сценарий о том, как разрешение доступа пользователей к флэш-контенту может быть проблемой безопасности.

Да, это небезопасно.

Нет простого способа разрешить это.У вас мог бы быть белый список доменов, разрешающий доступ к YouTube, Hulu и т.д.через, но создание белого списка по своей сути кропотливая работа - вы бы постоянно обновляли его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top