#vb.net
#vb.net
Вопрос:
Я хочу добавить функцию в свою пробную версию приложения. После первой активации я хочу ограничить ее сроком на 90 дней. Но я обеспокоен тем, что пользователь изменяет дату системы, следовательно, обманывая мое приложение. Есть ли какая-либо возможность сделать его надежным таким образом, чтобы, даже если пользователь заберет календарь обратно, срок действия приложения истекал через 90 дней после первой активации? Дата первой активации была сохранена в базе данных.
Большое вам спасибо. Furqan
Ответ №1:
Короче говоря, нет, если только ваше приложение не может работать 24/7 и позволяет запускать себя только один раз. Даже тогда были бы способы подорвать это.
Ответ @ SB.101 — это способ проверки очень простого изменения даты. Он не поймает изощренных мошенников, которые знают, что вы это делаете, и просто продолжают устанавливать дату на что-то хитрое, что обманывает ваши проверки. Это также будет раздражать немногих пользователей, которые законно меняют дату в своей системе.
Пинг вашего сервера через Интернет для получения даты помог бы, но его все еще можно подделать, и теперь он раздражает ваших пользователей, заставляя их подключаться к Интернету (если только вашему приложению это уже не нужно).
Надежного способа сделать это нет. Это теоретически невозможно. Помните, что независимо от того, насколько умело вы проверяете, истек ли пробный период, пользователь всегда может изменить или удалить запись о начале пробной версии!
Я бы посоветовал вам просто сделать что-нибудь быстрое и простое и положиться на тот факт, что небольшой процент людей, которые способны обойти ваше пробное ограничение и готовы потрудиться сделать это, вряд ли в любом случае приобретут полную версию вашего приложения.
Ответ №2:
Вы также можете сохранить дату последнего запуска в базе данных и сравнить ее с системной датой, если она новее системной даты, то вы обмануты!
или
Если вы можете использовать HTTP, то можете запросить серверы времени для текущей даты
Комментарии:
1. Да, но в этом случае я могу либо закрыть приложение, либо выдать предупреждение. Не могу отследить, сколько дней простоя прошло.