Windows プログラムがあり、独自のライセンス サーバーを作成したいと考えています。手動でキーを生成するのは好きではありません。アイデアは、同時に実行されているサーバーの 2 つのコピーをチェックすることです。
私のアルゴリズム。
- ユーザーがライセンス キーを購入します。
- サーバー スクリプトはキーをサーバー データベースに挿入します。
- ユーザーがキーをプログラムに入力します。プログラムはそれをデータベースに挿入します。
- ユーザー起動プログラム。その後、ライセンスキーを使用してサーバーにプログラムログインします。ユーザーがプログラムを閉じるとログアウトします。
- 同じキーを使用してサーバーに同時にログインする 2 つのコピーがある場合、サーバー スクリプトはライセンス キーを無効にします。
しかし、悪意のあるユーザーが Windows の HOSTS ファイルに偽のサーバーを追加した場合、ライセンス サーバーのなりすましを防ぐにはどうすればよいでしょうか?
私のサーバーは、プログラムの認証後に一意の応答を返す必要があり、プログラムはその情報を使用して、ライセンス サーバーが偽のサーバーではなく正当であるかどうかを判断します。しかし、この目的のためにどのような情報を返す必要があるでしょうか?