Триал версию на 30 дней - как реализовать?

 

Подскажите код, чтоб сделать триал версию на 30 дней, просто чтоб работал 30 дней и потом отключался,

перестановка времени не помогала, то есть не до определенного числа.

if ( TimeCurrent() >= D'2008.07.05')

return(0);

не просто так.

TimeCurrent - Документация на MQL4
  • docs.mql4.com
TimeCurrent - Документация на MQL4
 

Т.е. нужно 30 дней с момента первого запуска? Только где-нибудь запоминать время первого запуска - в файле, в глобальных переменных и т.п. Но это же очень легко обнаруживается.

 
Sergei Vladimirov:
Т.е. нужно 30 дней с момента первого запуска? Только где-нибудь запоминать время первого запуска - в файле, в глобальных переменных и т.п. Но это же очень легко обнаруживается.
Я не знаю, поэтому и спросил.
 
Надёжно простыми средствами никак не сделать. Можно сохранять время первого запуска где-нибудь в интернете (на вашем сайте или в облаке) и при каждом запуске запрашивать его оттуда, это более-менее надёжно будет. Но это уже не из простых решение.
 
Kirill Voytseshchuk:

Подскажите код, чтоб сделать триал версию на 30 дней, просто чтоб работал 30 дней и потом отключался,

перестановка времени не помогала, то есть не до определенного числа.

if ( TimeCurrent() >= D'2008.07.05')

return(0);

не просто так.

Более менее надежно, можно к одному счету 30-ти дневную привязку сделать. 
 
Kirill Voytseshchuk:

Подскажите код, чтоб сделать триал версию на 30 дней, просто чтоб работал 30 дней и потом отключался,

перестановка времени не помогала, то есть не до определенного числа.

if ( TimeCurrent() >= D'2008.07.05')

return(0);

не просто так.

Можно посмотреть в сторону изолированного хранилища с обращением через .NET DLL на управляемом C++.

https://msdn.microsoft.com/ru-ru/library/3ak841sy(v=vs.110).aspx 

 
Alexey Volchanskiy:

Можно посмотреть в сторону изолированного хранилища с обращением через .NET DLL на управляемом C++.

https://msdn.microsoft.com/ru-ru/library/3ak841sy(v=vs.110).aspx 

Спасибо за совет, код бы кто скинул.
 
Kirill Voytseshchuk:
Спасибо за совет, код бы кто скинул.
Это не Илан, сомневаюсь, что такое валяется в свободном доступе )) Да сделать-то нетрудно, все же расписано в MSDN
 

Самым надежным способом, как уже было сказано ранее, будет запоминать дату и время первого запуска (активации триала) у себя на сервере. И при каждом запуске программы проверять время. Но если проверка будет на стороне клиента есть риск, что такую защиту обойдут. Поэтому лучше часть логики программы, которая является вашим уникальным решением и представляет собой ценность вашей программы, переносится на сервер. Из клиента вы по защищенному соединения передаете входные параметры и получаете в ответ результат расчета. Проверка триала будет на сервере, если срок триала окончен, то вместо результата расчета возвращается сообщение об окончании срока действия.

Преимущество такого решения:

  • Надежная защита от взлома вашей программы
  • Более гибкая система управления триалами (при желании вы можете продлить у себя на сервере кому-либо из ваших клиентов срок действия для более детального ознакомления с программой)
  • Единая версия программы для всех клиентов, тем кто оплатил программу срок действия уже не закончится (бескоечный триал, или лучше сказать бессрочная лицензия)
 
Andrey Glebov:

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

Не годится такое решение для трейдинга. Клиенту же на каждом тике нужно будет слать свежие данные для перерасчёта и ждать ответа с результатами. Представляете, во что это выльется на быстром рынке?
 
Kirill Voytseshchuk:
Спасибо за совет, код бы кто скинул.
Кирилл, такие вещи за пять минут "на коленке" не пишутся, так что вряд ли вам кто-нибудь скинет готовый код. Заказывайте во фрилансе.
Причина обращения: