Мы разработали специальное приложение ASP.NET для использования в нашей клиентской интрасети. Похоже, что они вряд ли будут платить за это, поэтому наш босс хотел бы, чтобы мы представили бомбу замедленного действия.
[Изменить:] Технические ответы только пожалуйста! Является ли это хорошей (или юридической) идеей, является вопросом для CEOoverflow.com; -)
Все страницы приложения наследуются от класса ApplicationBasePage и имеют согласованную обработку ошибок, поэтому я думаю, что выброс исключения на раннем этапе жизненного цикла ApplicationBasePage будет простым способом сделать приложение непригодным. Я открыт для других идей, которые у вас могут быть, хотя.
Мой вопрос: как и где мы должны хранить дату истечения срока действия приложения?
Некоторые примечания:
- Приложение установлено на одном сервере в офисах клиентов.
- Данные приложения хранятся в базе данных SQL Server 2005, хранящейся на том же сервере. База данных была разработана нами и не используется ни для чего другого.
- Приложение доступно только в своей интрасети: доступ к приложению через Интернет отсутствует.
- В настоящее время у нас есть доступ к удаленному рабочему столу на их сервер, но он будет ожидать, что если все станет неприятно,
- Приложение написано на .NET 2.0.
- Безопасность обрабатывается FormsAuthentication.
- Нам нужно иметь возможность быстро отключить timebomb или изменить дату его запуска (предположим, что у нас есть доступ к удаленному рабочему столу для этого).
- Сервер может нормально обращаться к Интернету, но лучше не полагаться на это.
- Timebomb будет блокировать пользователей: он не уничтожит никаких данных.
- Если это не срабатывает, клиент никогда не должен знать о существовании временной бомбы.
- Их ИТ-парень будет с удовольствием заглядывать в web.config или в базу данных. Он не программист, но он не боится менять вещи "просто посмотреть, что происходит". Декомпиляция или обратное проектирование приложения будет за пределами его возможностей.
Для дополнительного кредита, насколько вы думаете, что в этом случае можно полагаться на безопасность через неясность?
[ Edit:]
- В приложении много важных для бизнеса событий, зависящих от бизнеса, поэтому мы можем быть уверены, что они не изменят часы на своем сервере, так как это сделает приложение хуже, чем бесполезно.