PDA

Просмотр полной версии : Ограничить действие swf по времени!


Lexandr
05.07.2010, 15:20
Господа, подскажиет наиболее жизнеспособные способы ограничения действия swf по времени.

Примечание: Swf передаю ряду заказчиков для размещения на их сервере.

VVall
05.07.2010, 15:40
Любой способ сгодится. Если кому-то действительно понадобится снять ограничение - снимет очень быстро независимо от способа, поэтому не надо тратить время на сложные варианты.

Lexandr
05.07.2010, 15:43
Опишите плз. хотя бы один. Но надо учесть согласно описанному выше примечанию, что swf будет лежать на чужом (и зачастую интранет) сервере, где пользователям закрыт доступ в интернет, поэтому обращаться за получением даты к внешнему серверу мы не можем.

VVall
05.07.2010, 16:21
Используйте текущую локальную дату. Если хотите, можете заодно считать действительное время работы и сохранять его в SharedObject, чтобы простой перевод часов не позволял обойти ограничение.

Lexandr
05.07.2010, 18:09
локальная дата не лучший вариант - всегда можно перевести часы, на сервере это врятли будут делать... Я бы проверял дату и там и там.... если есть большое расхождение, тот блокировал доступ... только как вот на сервере-то узнать...

А что значит действительное время работы? Не понял..какова логика реализации?

in4core
05.07.2010, 18:33
SharedObject. Запусти у себя сохрання нужные данные. Потом стереть код. и оставить тока проверку ТИПА
if (tf.text == so.data.pass) { do it }
Ну и окно с пассом. для нубов сойдет. для не нубов надо пхп подрубить бы

VVall
05.07.2010, 18:42
А что значит действительное время работы? Не понял..какова логика реализации?
Время работы приложения. Во время работы считать, сколько проработало приложение, сохраняя счётчик в SO, и использовать как дополнительное условие при проверке даты. Таким образом для обхода ограничения надо будет не только изменять время, но и удалять SO. "Для нубов сойдёт", а от прочих никакая защита не поможет.

Lexandr
05.07.2010, 19:03
ну допустим ставлю я ограничение работы на месяц. Во флэше у меня стоит дата от 01 января. Чел поиграл с флэшкой.... потом надпись лицензия закончилась... он переводи стрелки назад... и опять играет. Мнеж не надо знать сколько проработала флэшка... конечно она может и месяц целиком запущенной висеть.. А так суммарно месяц... и за несколько лет не набежит.

VVall
05.07.2010, 19:43
Обратите внимание, что trial-версии казуальных игр давно уже ограничивают по времени непосредственного использования, а не до определённого числа.

Вы можете отслеживать перевод времени назад, сохраняя при каждом запуске дату в SO, и проверяя, чтобы при новом запуске дата была больше ранее сохранённой.

Повторяю который раз - любую защиту обойдут, вопрос только в сложности процесса: перевод часов - удаление SO - декомпиляция. На сервере перевод часов тоже не каждый захочет делать, потому что даты создания файлов поплывут.

Lexandr
06.07.2010, 20:03
Я уж обрадовался, думал нашел выход из положения, яваскриптом с помощью функции getResponseHeader('Date'); считываю дату из заголовка ответа сервера. Да не тут-то было, разные вебсервера в http заголовке выдают ее по разному, а могут и вообще не выдавать.