Форум 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 минуту
Спасибо за ответы.


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

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