もともとクラウドでホストされる予定だった ColdFusion 11 で Web アプリケーションを作成しています。ただし、一部の潜在的な顧客は、オンプレミスで自分自身でホストすることを好みます.
これにより、次のような疑問が生じました。
- 複数のサイトでのアプリケーションの管理 (アップグレード、更新など)
- アプリケーションのライセンスを取得して、顧客が支払いを済ませている間だけ機能するようにする
- クライアントがソース コードにアクセスして、アプリケーションをめちゃくちゃにしたり海賊版にしたりするのを防ぐ
最初に取り組みたいのは、アプリケーションが使用されるたびにチェックする顧客ごとのライセンス ファイルを作成し、顧客を許可する方法です。アプリケーション全体が顧客によってホストされていることを念頭に置いてください。ライセンスをチェックする中央システムがあります。シリアル番号を入力して製品のライセンスを取得した古いデスクトップ アプリケーションがどのように機能したかなどの情報が必要です。
私の最初の考えは次のとおりです。
- クライアントがハッシュ化/暗号化されたシリアル番号を持つデータベース テーブルをプリロードする
- シリアルを有効期限にマップする他のテーブルを用意します
- 私の Web アプリは、データベース テーブルに対してシリアルの有効性をチェックし、シリアルが続く期間は動作することを決定します。
唯一のことは...「シリアルの有効性」をどのように確認するかです。つまり、私の Web アプリは、この顧客が使用しているシリアルをどのように認識し、12 か月先の有効期限まで永続的に保持するのでしょうか。
ColdFusion Web アプリケーションでこの種のクライアントベースのセキュリティを実現する方法を教えてください。