On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru


Пропан цена сжиженныи газ оптом цена www.газоснаб.рф.





 

Защита Вашего Swf ролика от кражи

Tiran Dagan

Вступление

Иногда мне достаточно взглянуть на SWF файл, чтобы понять как работаёт то, на что я точил давненько зуб. А иногда ничего не понятно, и так и хочется стащить такую работу. А чтобы с Вами так не поступили.........

Проблема

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

Проверим URL источника!

protocol=_url.substr(0,_url.indexOf(":"));
if (protocol=="file") {
// Будем добродушны
//Если вымогатель сгрузил Ваш SWF мы позволим ему запустить
// ролик на его компьютере
//
message="Похоже Вы запустили ролик с вашего винчестера.
Так и быть, но знайте, этот SWF будет работать
только на авторском сайте"
} else if (protocol=="http") {
// doubleSlash
// ===========
// Расположение первых "//" iв урле
// url's формируются следующим образом
//
// [protocol]://[server]/[pathname]
//
// Где protocol это либо ftp, file, http, и т.д.
//
doubleSlash=_url.indexOf("//");
//
// server
// ======
// Isolate the server name: Go past the "//", и всё
// между двойным слэшем и "/" (одинарный слэш")
// это имя сервера
server=_url.substr(doubleSlash+2,_url.indexOf("/",doubleSlash+2)-doubleSlash-2);
//
// Давайте избавимся от префикса "www" , потому что
// иногда серверы узнают адрес и без этого
// префикса
// Тут есть маленькая ловушка.....
// Что если пользователь наберёт "http://www.6FootMedia.com"
// Это не тоже самое, что и "http://www.6footmedia.com"
// (Разница в регистре)
server=server.toUpperCase()
//
// Избавимся от WWW. префикса
// и тогда мы сможем сконцентрироваться только на
// проверке имени сервера
if (server.indexOf("WWW.") <>-1) server=server.substr(server.indexOf("WWW.")+4,server.length);
//
if (server.indexOf ("TIRANDAGAN.COM") <> -1 or server.indexOf("FLASHKIT.COM") <> -1) {
message = "С Copyrights всё впорядке";
} else {
message = "Тревога! Копирайт фильма нарушен! Сообщение отправлено автору, чью
работу Вы украли!. \nOffending website path: " + _url;
// Тут вы можете вставить код редиректа ролика на другой кадр
//или вставить getURL на страницу Вашего сайта, извещающую о краже...
}
}
box1=prefix;


Fig.1 - Код во Frame 1 в файле FLA

большая часть этого кода подробна поясняется коментариями. Взгляните на него ещё раз. Идея состоит в том, что _url свойства во Flash 5 содержит вызвавший url, который включает в себя имя сервера на котором запущен SWF (ну находится где). Я предлагаю Вам попробовать хитрый подход в Вашей защите прав, это не выдавать простой механизм Вашей защиты: Просто перенесите фильм в пустой фрэйм с командой stop(); и пользователь (воришка) не поймёт, что не даёт фильму загрузиться.

Результат

Дабы продемонстьрировать этот метод защиты, вам надо будет загрузить SWF файл в Figure 2. Попробуйте запустить его не на своём компьютере. Затем выгрузите его на http сервер и посмотрите, что будет. Вот скриншот:

Fig.2 - Результат запуска SWF не на вашей машине (Это не переведённый вариант, у Вас будет по-русски - прим. переводчика)

Fig.3 - Результат запуска на сервере воришки. (Это не переведённый вариант, у Вас будет по-русски - прим. переводчика)



Литература по FLASH