Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Запретить встраивание флеш по url на других сайтах (http://www.flasher.ru/forum/showthread.php?t=212322)

Фомич 18.01.2016 12:10

Запретить встраивание флеш по url на других сайтах
 
Приветствую! Есть ролик swf, который показываю на странице, со страницей все в порядке, если пользователь зарегистрирован, то этот ролик показывается ему, но ведь можно открыть этот ролик без регистрации по прямой ссылке через браузер или встроить в другой сайт. Есть ли во флеш функция проверки сайта, на котором он запущен (по сути того, что в адресной строке браузера, а не пути к ролику)?

caseyryan 18.01.2016 12:45

URL Lock есть, чтобы не открывался с другого домена.
Но вот по поводу этого:
Цитата:

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

Фомич 18.01.2016 13:24

Да, сервер разруливает, но если пользователь залогиненный из кода страницы скопирует ссылку на флеш и перешлет скажем своему другу, то у того этот ролик запустится и без регистрации. Если я буду проверять stage.loaderInfo.loaderURL - это и будет тот самый urllock?

Фомич 22.01.2016 14:37

Ок, а каким образом из флеш узнать собственное название флешки? Это поможет мне решить вышеописанное.

dark256 22.01.2016 15:13

Код AS1/AS2:

trace( _url )

Там и пути и имена.

Фомич 22.01.2016 15:24

Цитата:

Сообщение от dark256 (Сообщение 1191040)
Код AS1/AS2:

trace( _url )

Там и пути и имена.

А для AS3?

undefined 22.01.2016 15:31

Цитата:

А для AS3?
http://help.adobe.com/en_US/FlashPla...rInfo.html#url
либо так:
Код AS3:

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


Фомич 22.01.2016 15:47

Цитата:

Сообщение от undefined (Сообщение 1191042)
http://help.adobe.com/en_US/FlashPla...rInfo.html#url
либо так:
Код AS3:

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


таким образом я вычисляю url страницы, где запущена swf, но требуется название самой флешки на этой странице, например test.swf или путь до нее. Их несколько и хотелось бы встроить одинаковый код.

undefined 22.01.2016 16:10

Цитата:

таким образом я вычисляю url страницы, где запущена swf
только что проверил
Код AS3:

if (ExternalInterface.available)
 ExternalInterface.call("alert", this.loaderInfo.url);

выдает урл вместе с именем флэшки

Добавлено через 7 минут
совершенно не понятно как определение имени swf файла поможет защитить от встраивания флэшки на другом адресе?

Фомич 22.01.2016 18:09

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

Добавлено через 1 минуту
Спасибо за ответы.

caseyryan 23.01.2016 08:56

И в чем смысл этой защиты? Кому нужна эта флешка? И что произойдет от того, что кто-то встроит ее себе на сайт?
Не лучше ли просто встроить в нее логотип с названием своего сайта, и пусть рекламируют где угодно. Сдается мне, что она так то практически никому не нужна будет, если еще дополнительные препятствия для просмотра будут, то ее вообще никто не будет использовать. Времена меняются, сейчас все идут по пути максимального открытия ПО, а не закрытия.

Фомич 23.01.2016 15:50

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

Спасибо за мотивацию)


Часовой пояс GMT +4, время: 02:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.