WPF で Windows デスクトップ アプリケーションを作成しています。有効化プロセスを追加する必要があり、正しい考えがあるかどうか疑問に思っていました
これは私が実装しようと考えていたプロセスです。これが最善の解決策でしょうか
- ユーザーがアプリケーションをロードすると、アクティベーション コードが含まれているレジストリ キーがチェックされます。
アクティベーションが必要です
- レジストリにアクティベーション キーがない場合は、アクティベーション ページが表示されます。
- ここで、彼らは私たちから受け取るアクティベーションキーをそこに入力します
- ユーザーがアクティブ化をクリックすると、HDDのシリアル番号を取得してハッシュします
- 次に、チェックするために書いたWebサービスに接続します-キーは存在しますか-割り当てられたHDDシリアルハッシュがありますか-アクティブですか
- これらすべての基準に合格した場合、Webサービスを介してHDDシリアルを使用してDBを更新し、アクティブとしてマークします
すでにアクティブ (アクティベーション キーが存在するレジストリ キー)
- HDD のシリアル番号を取得してハッシュ化する
- レジストリからキーを取得する
- Web サービスに接続して、キーが存在するかどうか、まだアクティブであるかどうか、正しい HDD ハッシュに割り当てられているかどうかを確認します
- そうであれば、ユーザーが続行できるようにします
- そうでない場合は、レジストリ キーを完全に削除し、ソフトウェアを再アクティブ化してからアクティブ化ページを読み込む必要があることを伝えます。
これがこれを行う正しい方法であるかどうか疑問に思うことは別として、いくつかの追加の懸念があります。
Web サービスを保護する必要があります。ユーザーは、プログラムを起動するたびにインターネットにアクセスして、Web サービスを確認できるようにする必要があります。
誰でもできるアドバイスは大歓迎です。私はそこに答えを見つけることができませんでした。