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