2016-12-10 22 views
0

私はC#.Net winformsで管理システムを開発しています。 LAN経由で集中データベースを使用する必要があります。SQLでコンピュータのMACアドレスを見つける

シナリオ:私は誰か他のいくつかのコンピュータに私のソフトウェアをコピーしたい場合、私は私のクライアントを与えるであろうから、彼は、他のコンピュータ上でそれを実行することはできないであろうと、いくつかのチェックを適用する必要が

ソフトウェアを実行し、ウィザードを使用してすべてを構成します。

以前の回避策:

以前は、私は、データベース内のローカルマシンの私のMACアドレスを格納して、が、問題は、私は同じデータベースに複数のコンピュータをconnnectするために必要な場合には、各コンピュータはということでしたそれはそれ自身のMACアドレスです。

私の意見:

だから、私は、任意のクライアントがデータベースに接続することができますし、データベースがすべきように、ソフトウェアの初回実行で、私は、データベース内のインストールのSQL ServerのNET_ADDRESSようないくつかのユニークなものを保存する必要があることを考えましたSQL Serverのnet_addressを取得しています。また、私がwifiをリセットしたときにnet_addressが変更されてしまうという問題が発生しました。したがって、SQLは、それが絶えず変化して以来、最後に保存されたnet_addressアドレスを認識していませんでした。

問題:

は今、私はそれを介して動作するようにどのようにいくつかのアイデアがありますか?私はマシンのMACアドレスがインストールされているものと同じであるかどうかをチェックするために使うことができるいくつかのユニークなことを得なければならない!多くのアイデアを歓迎します。

+0

ローカルマシンのハードドライブのシリアル番号を使用することもできます。十分にユニークであるべきですか? – urlreader

+0

@urlreaderしかし、問題はどのようにSQLのハードウェアにアクセスできますか? SQLサーバがインストールされているマシンのMACアドレスがわかっていればそれでも十分でしょう – Umar

+1

Duplicate of http://stackoverflow.com/q/3398428/73226 –

答えて

-1

サーバーのMACアドレスを取得することはできません。このconnect articleを参照してください。あなたはこのコマンドでクライアントのMACアドレスを取得することができますselect net_address from sysprocesses where spid = @@SPID

+0

私はこのことを試しましたが、net_addressは変化し続けます。私はコンピュータで一意でなければならない何かがSQLで必要です。 – Umar

+0

クライアントの場合はサーバーではないNet_address。それは、しかし、任意のクライアントの任意のサーバー上で同じにする必要があります。私は 'xp_regread'がそのトリックをするかもしれないという別の考えを持っていました。 –

0

answer from Martin Smith(あなたのコメントにリンクされているように)SOに別の質問がありますが、あなたの必要と思われるものがありますが、ソフトウェア保護。

SOを他の著作権侵害の疑いのある質問のために検索すると、試してはいけないことをほとんどすべての回答で見つけることができます。このように始まり答えとHow to protect my application against piracyなどの質問:任意のライセンスの適用液として

は努力のビットでひび割れすることができ、私はあなたがしようとしない示唆...

または、Prevent piracy of desktop application which doesnt need Internet connection?

私が見たスタンドアロンの唯一の事は、ボックス化されたソフトウェアに付属するハードウェアキーだけです。彼らは、パラレルポートまたはシリアルポートに接続して、プログラムの起動時にチェックを受けました。

これにはAutoCadなどのプログラムが使用されていますが、お客様にはBIG PAINです。

ソフトウェアエンジニアリングサイトには、もう1つのinteresting discussionがあります。

多くの人があなたのソフトウェアをコピーするのを防ぎますが、マイクロソフトのような人がソフトウェアの著作権侵害を根絶することができない場合は、コピー防止システムがあります。それは単純なMACアドレスのチェックに行くと思いますか?

セキュリティ/暗号化の専門家でなければ、どこからでもライセンスコードを購入したり、気にしない限り、ソフトウェアを作成して収益を上げたいと思っています。

組織内で「著作権侵害」を防止しようとしていることがわかりましたが、同じ問題が適用されます。あなたの顧客が正しいことをするのをサポートし、信頼し、効果のないコピープロテクションで無駄にするのではなく、より優れたソフトウェアを保存しておけばいつでも過ごせます。

関連する問題