Я создаю веб-приложение в ColdFusion 11, которое изначально планировалось размещать в облаке. Однако некоторые потенциальные клиенты предпочли бы, чтобы он размещался на их территории.
Это вызвало вопросы:
- Управление приложением на нескольких сайтах (например, обновления, обновления)
- Лицензирование приложения таким образом, чтобы оно работало только при оплате клиентом
- Предотвращение доступа клиентов к исходному коду и либо нарушения работы приложения, либо его пиратства.
Первое, что я хочу решить, это как создать файл лицензии для каждого клиента, который приложение проверяет каждый раз, когда он используется, а затем разрешает клиенту войти. Имея в виду, что все приложение размещается у клиента, поэтому я не могу иметь центральную систему, которая проверяет лицензирование. Мне нужно что-то вроде того, как работали старые настольные приложения, когда вы вводили серийный номер и лицензировали продукт.
Мои первоначальные мысли:
- Предварительно загрузите таблицу базы данных, которая есть у клиента, с хешированными/зашифрованными серийными номерами.
- У вас есть другая таблица, которая сопоставляет серийные номера с датами истечения срока действия.
- Мое веб-приложение проверяет таблицы баз данных на достоверность серийного номера по сравнению с таблицей базы данных, а затем решает работать в течение любого периода, в течение которого длится серийный номер.
Единственное, как это проверить на "серийную достоверность". То есть, как мое веб-приложение узнает, какой серийный номер использует этот клиент, и сохранит его постоянно до истечения срока действия, который может быть через 12 месяцев.
Может ли кто-нибудь дать мне несколько советов, как добиться такой клиентской безопасности для веб-приложения ColdFusion?