Как заблокировать Flash-приложение на сайте? - PullRequest
1 голос
/ 26 апреля 2009

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

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

При разрешении:

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

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

root.loaderInfo.url

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

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

Ответы [ 2 ]

3 голосов
/ 27 апреля 2009

Этот код сообщит о загрузке 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];
}
2 голосов
/ 26 апреля 2009

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

...