div.main {margin-left: 20pt; margin-right: 20pt}
Защита Вашего Swf ролика от кражи
Вступление
Иногда мне достаточно взглянуть на 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 – Результат запуска на сервере воришки. (Это
не переведённый вариант, у Вас будет по-русски - прим. переводчика)
Удачи!
Скачать
Исходник (100 кб)
Автор: © Tiran Dagan Источник:
http://zona5.al.ru/
|