2

ASP.net ページを作成すると、現在のユーザーの CPUID と BIOS シリアル番号を取得できますか? それとも、セキュリティのために許可されていませんか?

現在、これらの値を取得する Visual Basic.net アプリケーションを使用していますが、Web ページで同じことができるかどうか疑問に思っています。

4

2 に答える 2

3

簡単に言うと、通常の HTML と JavaScript の Web ページだけを使用してこの情報を取得することはできません。

しかし、それが不可能であると言うわけではありません。

クライアント コンピューターに Java、Flash、または Silver-light がインストールされている場合、これらのプラグイン アーキテクチャの 1 つが何らかの方法でクライアント コンピューターにクエリを実行し、このデータを収集することは不可能ではありません。NvidiaやAMDなどの多くの企業が、ダウンロードするドライバーの選択肢を提供するときにハードウェア情報を取得するためにJavaアプレットを使用しているため、Javaアプレットからそれが可能であることをたまたま知っています.

これらの人は、BIOS のシリアル番号などを探していないかもしれませんが、探している情報を読み取るために必要なのと同じアプローチと方法を使用して、彼らが行っていることの性質上です。

個人的には Silver-light も使用しましたが、管理された環境で、クライアント コンピューターで何が実行されているかについて発言権がありました。

現在、元の質問を超えて、ほとんどの人がこの性質の質問をします。これは、Cookie などを保存する必要なく、Web サイトへの訪問者を一般的に一意に識別する方法を探しているためです。

以前、私が書いた code guru の .NET Nuts and Bolts コラム (ここにリンク) の投稿でいくつかの方法の概要を説明しましたが、現在最も一般的な方法の 1 つはフィンガー プリンティング手法です。

基本的に、フィンガー プリント技術は、最新のブラウザーが現在 Web サーバーに提供しているすべての標準データを組み合わせて使用​​し、このデータを使用してある種のハッシュ トークンまたは一意の識別子を形成することによって機能します。

ただし、この方法を使用する場合に確認する必要があるのは、頻繁に変更される可能性のあるデータのビットを選択しないことです。ユーザー エージェント、画面解像度、オペレーティング システムのバージョン、Java のバージョンなどは、一般的に適切な選択です。IPアドレスを使用して取得することもできますが、最近はほとんどの消費者が動的になっているため、予期せず変更される可能性があるため注意してください.

指紋を作成する場合に避けるべきことは、現在の日付と時刻、特定のヘッダーのブラウザー名の存在 (もちろん、それがあなたが提供するヘッダーでない限り)、多くの人に広く一致する可能性のある回答を提供するものなどです。他のシステムまたは頻繁に変更されるシステムは、悪い選択です。

クライアント側で JavaScript を使用して、クライアント自体のローカル情報を使用してハッシュを作成し、ajax 呼び出しを使用して、または非表示のフォームまたは URL パラメーターでそのハッシュを送信することもできます。

2021 年 1 月の更新

  1. 上記のリンクを参照すると、この日付以降、コード Guru の書き込みはありません。私の元の記事はすべてまだオンラインにありますが、検索する必要があります。
于 2014-05-27T22:15:55.717 に答える
2

Web ページで実行すると、サーバーの BIOS シリアル番号を取得できます。VB.NET機能はサーバー上で動作するためです。

単純な HTML/JS/CSS Web ページからこのデータにアクセスすることはできません。申し訳ありませんが、それはセキュリティの問題です。あるインターネット ページにアクセスするときに、ハードウェアの仕様を誰にも知られたくありません。

于 2013-04-21T06:56:49.580 に答える