Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   А кто как делает защиту своего ролика путем проверки наличия файла на другом сайте? (http://www.flasher.ru/forum/showthread.php?t=40406)

ccwds 02.12.2002 12:38

А кто как делает защиту своего ролика путем проверки наличия файла на другом сайте?
 
Ну, в общем, subj... Я понимаю, что лучше путевый договор, чем подобные ухищрения, но мы с вами живем в непростой стране... Если кто делал, поделитесь строкой ActionCкрипта, а то я так перемудрил, что у меня подобная защита, бывает, "по таймауту вылетает", и даже при наличии файлика на моем сайте или правильного значения переменной в нем все равно иногда на секунду пишет: "Заплати и спи спокойно..." :D

ccwds 02.12.2002 14:40

А еще, как я подумал, можно ставить просто expiration date в ролик - если системная дата больше 1 декабря 2002 года, то рисуем кукиш... Ничего, что я сам с собой разговариваю? ;)

DioniX 02.12.2002 14:42

меня вот тоже реально волнует данная проблема.

до этого делал триал версию (на 10 дней скажем), когда все нормально меняешь на правильный файл.
Не по людски, но тогда как?

Чингачгук 02.12.2002 18:47

Да, подобный простейший триал я вставляю уже по умолчанию:

nowDate = new Date();
timesec = nowDate.getTime();
if (timesec > 1039057206200) {
gotoAndStop (3);
}

Вот в этот четверг уже один сайт напишет все, что думает о заказчике... :mad:

А насчет того, чтобы оставлять под контролем, я делаю слегка коряво -
Код:

в первом кадре
loadVariables ("http://www.мойсайт/on.txt", "");
индикатор загрузки,
...
...
ifFrameLoaded (какой нужно) {
    gotoAndPlay (3);
}



В on.txt - OK=1

Во втором кадре
gotoAndPlay (1);

получается, что попытка  loadVariables ("http://www.мойсайт/on.txt", ""); происходит неоднократно

В третьем кадре
if (ОК = 1) {
    gotoAndPlay (куда нужно);
}

Но как-то коряво это.

sevast 02.12.2002 19:47

зачем такой изврат?
 
Эххх.. давно не писал.

так.

задача - дать понять плохим дядям, что уносить исходник - так делать плохо.

//////////////

вариант1.

Это в том случае, ежели на всехх компьютерахх системное время равно московскому и дата соответствует реальной.

onClipEvent(load) {
_global.site = "http://pupkin.ru/";
_global.cheker = site + "cheker/";
_global.isLegal = cheker + "checkThisSite.txt";

// стучимся на сайт изготовителя.

loadVariables(isLegal, this);

// грузим все это добро в клип.
// в текстовом файле - переменная &deathDate=12.10.12&

container = new Date();
year = (container.getYear() - 100);
year < 10 ? year = "0" + (container.getYear() - 100) : 0;
month = (container.getMonth() + 1);
month < 10 ? month = "0" + (container.getMonth() + 1) : 0;
day = (container.getDate() + 1);
day < 10 ? day = "0" + (container.getDate() + 1) : 0;
timeToWait = 15000;

// устанавливаем время, в течении которого будем ждать
// ответа от сайта изготовителя;

}
onClipEvent(data) {
now = day + "." + month + "." + year;
// формируем строку даты на компе.
if (now !== deathDate) {
// ежели все плоххо. откроем сайт изготовителя.
getURL(cheker + "theRealAuthor.html");
// и запустим пустой цикл.
// клиенту покажут слайд-шоу.
for(;;) : 0;
unloadMovie(_root);
// и выгрузим рут. тут мультики и закончатся.
} else {
_root.nextFrame();
// ежели все хорошо - пошли играться;
}
}
onClipEvent(enterFrame) {
getTimer() - timeToWait > 0 ? _root.nextFrame();
// ежели время ожидания вышло - пошли играться.
// а то вдруг файл текстовый не закачался. А клиент
// заплатил уже... :(
}

////////////

Но этот вариант - ...вый. Гемрройно...

вариант2.

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

onClipEvent(load) {
_global.site = "http://pupkin.ru/";
_global.isLegal = site + "cgi-bin/cheker.cgi?timeZone=" + new Date ().getTimezoneOffset()/60;

// стучимся на сайт изготовителя. отдаем ему значение
// смещения времени. скрипт формирует ложное время и
// производит ложное смещение даты относительно
// часового пояса. Получаем cheked 1 или 0.

loadVariables(isLegal, this);

// грузим все это добро в клип.
// в текстовом файле - переменная &deathDate=12.10.12&

timeToWait = 15000;

// устанавливаем время, в течении которого будем ждать
// ответа от сайта изготовителя;

}
onClipEvent(data) {
if (cheked !== 1) {
// ежели все плохо. откроем сайт изготовителя.
getURL(cheker + "theRealAuthor.html");
// и запустим пустой цикл.
// клиенту покажут слайд-шоу.
for(;;) : 0;
unloadMovie(_root);
// и выгрузим рут. тут мультики и закончатся.
} else {
_root.nextFrame();
// ежели все хорошо - пошли играться;
}
}
onClipEvent(enterFrame) {
getTimer() - timeToWait > 0 ? _root.nextFrame();
// ежели время ожидания вышло - пошли играться.
}

////////////

Тут мороки меньше. Управлять легче. Зашел к себе на сайт из курортного города Мухосранска и клиенту неххорошему бяку сделал.

А вдруг у пользователя своя дата? Вдруг он - потомок Исилдура? Или еще чего доброго - Фродо? :).

даа........ остается надеяться, что заказчик - не Гэндальф. :)

DioniX 02.12.2002 20:56

loadVariables ("url" ,level/"target" [, variables])

Parameters
url An absolute or relative URL where the variables are located. If you access the movie using a Web browser, the host for the URL must be in the same subdomain as the movie itself.

вот это меня и смущает. люди, все вышепреведенное у вам работает? плагин реально грузит файл с другого домена?
или у меня руки кривые.. :( а то что не пишу в своем файле - результат всегда какой-нибудь один - либо показывает "заплати и спи..." либо нет. И проверку загрузки ставлю....

ccwds 03.12.2002 03:31

sevast Здорово! Что значит системный подход! :cool:

mort 03.12.2002 12:16

Можно выложить демо сайта на свой сервер и сделать так, чтобы из другого места просто не запускалось (даже с харда).

gOloVasTicK '~ 03.12.2002 13:45

Намба ван. Тристапядесятнафиктысячраз уже говорилось что в целях безопасности флеш не грузит вариаблесы с другого домена.
Намба ту. Проще вставить строку loadMovieNum('http://yoursite.com/clientID/ok.swf',999);
Если все нормально, то ничего делать и не надо. А вот если платить никак не хотят, положить в http://yoursite.com/clientID/ok.swf все что вам вздумается.

ccwds 03.12.2002 19:22

gOloVasTicK, а ведь тоже интересный способ! Как это в голову не пришло! И главное, ошибка исключена - зазря никогда ничего не появится! :)


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

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