Flash AS секретный вопрос - PullRequest
0 голосов
/ 09 марта 2011

Я совсем не знаю Flash AS, раньше экспериментировал, когда мне было 15 лет, но больше нет. В любом случае, я хотел знать, есть ли способ заставить swf-файлы проверять, с какого домена они загружаются, и реагировать соответствующим образом.

1 Ответ

1 голос
/ 09 марта 2011

Под "из какого домена они загружаются" вы имеете в виду:

  1. Сам SWF?
  2. Страница, содержащая SWF?

Если # 1, вы можете легко получить значение из свойства root.loaderInfo.url любого экранного объекта.

# 2 сложнее.Если allowscriptaccess установлен в true в коде для встраивания, вы можете использовать Javascript с вызовом ExternalInterface.Это на document.location.host или document.location.hostname.

Если у вас нет доступа к Javascript (например, если ваш SWF находится в посте Facebook), вам нужно сделать небольшую настройку, иРешение будет зависеть от поведения браузера пользователя.Вот один из способов сделать это:

Настройте серверный скрипт, который ваш SWF может пропинговать.Этот скрипт должен искать заголовок http "referer" и отправлять его обратно при проверке.Затем пусть ваш SWF отправит URLRequest этому сценарию.Данные будут местом встраивания.

В PHP сценарий будет просто echo $_SERVER["HTTP_REFERER"];.Это так же просто в большинстве других языков.

Вот еще один способ сделать это: Как получить домен страницы, которая загружает мой SWF, когда у меня нет доступа к сценарию?

Если вы просто хотите защитить свой SWF-файл от встраивания в чужие страницы, это проще.Просто проверьте на ExternalInterface.available.Если это неверно, отключите SWF.Если это правда, проверьте домен с помощью вышеуказанного (# 1) метода и отключите SWF, если домен неправильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...