Есть ли способ разрешить запуск flash-приложения только на моей странице (домене), а не локально и не на другом домене? - PullRequest
0 голосов
/ 10 декабря 2011

Я создал какую-то игру и хотел бы позволить пользователям играть в нее только на моем домене, поэтому запретить играть в нее в автономном режиме или разместить на другом сайте.Есть ли способ сделать это?Как-то проверить домен или около того?

1 Ответ

1 голос
/ 10 декабря 2011

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

Один из способов проверить, какой URL-адрес загружает объект swf, - проверить loaderInfo.loaderURL из класса LoaderInfo .

var url:String = loaderInfo.loaderURL;

Вы также можете проверить URL загрузки, используя JavaScript через ExternalInterface class :

var url:String;
if (ExternalInterface.available) {
    url = ExternalInterface.call("window.location.href");
}

Затем проверьте URL-адрес, чтобы увидеть, что он находится в вашем домене, например:

if(!/^https?:\/\/www\.example\.com/.test(url)) {
    //This seems to be outside of your domain
}

Вы можете найти дополнительную информацию об этом подходе в этой статье: http://www.ghostwire.com/blog/archives/as3-domain-locking-swfs/


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

Указав абсолютный URL-адрес актива, например http://www.example.com/assets/myExternalAsset.xml, вместо относительного, например /assets/myExternalAsset.xml, вы можете установить кросс-доменную политику , чтобы определить, какие домены могут для доступа к контенту.

Если доступ к контенту осуществляется за пределами вашего разрешенного домена (доменов), будет вызвано событие безопасности и загрузка не будет завершена.


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

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