2

Windows ベースのソフトウェア アプリケーションを作成しました。すぐに私はそれをライブにするつもりです。クライアントが私のウェブサイトからダウンロードした後、それを使用できることを意味します。また、私が提供するキーでのみ機能するようにソフトウェアを作成したことにも言及してください。初回は無料体験となります。

ここでは、35 桁のキーとその一意のキーを生成しています。ユーザーが私にキーを要求し、私が彼/彼女にキーを送ると、彼/彼女は私のアプリケーションを使用できる可能性があります. しかし、本当の問題はここからです。

コードを一度だけ使用したい。

例: ユーザーが私のアプリケーションをダウンロードした場合、そのユーザーはそのキーを使用して私のアプリケーションを使用できますが、同じキーを他のユーザーが使用することはできません。私のキーが xxx であるとしましょう。同じコード xxx は、私のアプリケーションをダウンロードした他の人には機能しないはずです。ソフトウェアを正規のユーザーのみが使用できるようにするためです。

私もこのリンクを通過しました

http://social.msdn.microsoft.com/Forums/zh/winformssetup/thread/301913a0-ecf9-4095-8d66-a3f4baeea6eb

ダニー・スタテン

まだ要件を満たしていません。

まず、アプリケーションをダウンロードするために登録している人の IP アドレスを取得することを考えました。それに基づいて、IP アドレスがデータベースに保存される人だけがキーを使用できるように制限できます。しかし、それは間違っている/不要なプロセスだと思います。そして、私のアプリケーションを使用するには、人のネットワークケーブルを毎回接続する必要がありました。しかし、それは私の目的を解決しません。

次に、アプリケーションがサーバーまたは私にpingするプロセスを作成することを考えました。

最初にユーザーがアプリケーションを (オンラインまたはオフラインで) 実行したときと同様に、アプリケーションは動作するはずですが、ネットワーク ケーブル/プラグをネットワークに接続するとすぐに、サーバーまたは私にアラートが送信されます。そして、私の側からは、ユーザーが私が提供したキーを使用しているかどうかを確認できます。いずれにせよ、ユーザーが本物ではない場合、私は彼が私のアプリケーションを使用するのを止めることができるはずです. 私の側からは、私が提供したデータベース内にキーを保存することにしました。そして、それぞれが別のテーブルでキーを要求しました。私が右に行くかどうかはわかりません。しかし、今のところ、これは私の頭に浮かんだことです。

しかし、要約すると、最終的には、キーを 1 人のユーザーのみが使用する必要があります。1 つのキーで私のアプリケーションを使用する 100 万の異なるユーザーを避けるためです。

私が提供したアイデアには確信が持てません。

今、私がそれを達成できる方法はありますか?

4

2 に答える 2

3

Get hardware fingerprint of his machine and generate key based on that. Your software should check whether the key was generated for that specific machine. This however requires online activation of your software. You can do this in two ways

  • letting user start unactivated application and display HW fingerprint which he sends to you. You then return activation key which he enters.
  • your application connects automatically to activation service and sends the fingerprint, receives activation key and stores it

Another point would be to include information about several components of hardware and allow user to change one or few. E.g. take fingerprint of HDD serial number, MAC address, motherboard SN, some CPU info (e.g. family name), you should allow user to upgrade or add another HDD.

There is SO topic about getting hardware information.

于 2012-08-10T11:44:22.720 に答える
0

You have to make a choice I think, the stronger your key system will be, harder it'll be for your users.

IE: A good system would be to generate a hardware key, so it only gets installed on the computers that are registered. Although it works well, users who buy a new computer will probably get in the trouble of asking you to register a new hardware key.

And if you only give them a key (like a serial number), it'll probably easy to use it on another computer.

So basically, if you don't think many users will give away their key because the software isn't going to be used by many people, I would not get a "super-strong" hardware authentication..

Also, don't register an IP address, everyone with a dynamic IP will hate you for doing this.

于 2012-08-10T11:45:25.513 に答える