Как заблокировать сайт для флеш-приложения?

У меня есть флеш-приложение, которое я собираюсь вскоре разместить на своем веб-сайте. Я хочу иметь возможность "заблокировать его" на сайте, чтобы предотвратить:

  • Размещение .SWF на другом сайте (после незаконной загрузки) и
  • Предотвращение открытия .SWF, если он включен в iFrame на другом сайте

При этом разрешая:

  • Белый список сайтов, которые нужно пропустить / включить без необходимости определять все варианты URL (например: www.abc.com, abc.com, abc.com/game/, games.abc.com и т. Д.)

Существуют коммерческие приложения, которые стоят сотни долларов для выполнения этой задачи, но я уверен, что это можно сделать с помощью:

root.loaderInfo.url

Как-то. Кто-нибудь знает, как это сделать? Меня больше всего беспокоит предотвращение iFrame, поскольку, когда сайты воруют flash, они обычно просто переходят через iframe на ваш собственный сайт, чтобы сэкономить на расходах на пропускную способность.

Я использую Flex SDK (а не Flash IDE), поэтому мне поможет чистый код AS3.


person Andy Moore    schedule 26.04.2009    source источник


Ответы (2)


Этот код вернет URL загрузки. Вы можете использовать его в своем основном загрузчике, чтобы показать неавторизованное сообщение или не загружать вообще, если оно не соответствует тому, что вы ожидаете:

public static function Domain(root:Sprite):String {
    var currentDomain:String = root.loaderInfo.url.split("/")[2];
    var fqdn:Array = currentDomain.split(".");
    var rdi:int = 1;
    var tli:int = 2; 
    if (fqdn.length == 2) {
        rdi--;
        tli--;
    }

    return fqdn[rdi] + "." + fqdn[tli];
}
person Andy Moore    schedule 27.04.2009

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

person ewanm89    schedule 26.04.2009