2017-04-06 16 views
1

ウェブアプリケーションからハードディスク、マザーボードなどから一意のIDを取得する方法。私はこれが直接行うことは不可能であることを知っています。ウェブでシリアル番号を読み取る

多くの個人情報を扱う会社で働いていて、従業員はaspx.netで開発したWebアプリケーションをログインとhttpsで使用しますが、政府の新しいルールのために使用しますこれはもはや十分に安全ではありません。

これを解決するために、会社はコンピュータのホワイトリストを作成する必要があると判断しました。これは、すべてのコンピュータがWebアプリケーションにログインするためにコンピュータのハードウェアに基づいた一意のキー(GUID) 。

しかし、Web(aspx.net、javascript、jquery)からそのようにするには、何らかのApp(Winformプログラム)を作成して、次に従業員がログインしようとするとApp/application、aspx.netアプリケーションはこのプログラムを呼び出して、ログインサービス(WCF-service)にGUIDを返すことができます。

私はC#、Winforms、Silverlight、aspx.net、javasript、jqueryなどで長年働いていましたが、今年はApps(クロスプラットフォーム)の開発方法を見つける必要があります。ここで言及した言語以外の例/リンクでもこれは問題ありません。

答えて

0

このRetrieving Hardware Identifiers in C# with WMIをご覧ください。

ManagementObjectManagementClassなどのクラスを使用すると、コンピュータのハードウェアのプロパティを取得できます。

プロセッサID自体は一意ではないことに注意してください。ハードウェアIDの組み合わせを一意のキーと見なしたい場合があります。

例:

/// <summary> 
    /// Return processorId from first CPU in machine 
    /// </summary> 
    /// <returns>[string] ProcessorId</returns> 
    public string GetCPUId() 
    { 
     string cpuInfo = String.Empty; 
     string temp=String.Empty; 
     ManagementClass mc = new ManagementClass("Win32_Processor"); 
     ManagementObjectCollection moc = mc.GetInstances(); 
     foreach(ManagementObject mo in moc) 
     { 
      if(cpuInfo==String.Empty) 
      {// only return cpuInfo from first CPU 
       cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); 
      }    
     } 
     return cpuInfo; 
    } 

次に、あなたがあなたの会社のウェブサイトにアクセスするには、独自のブラウザアプリケーションを作成することができます。これらのIDをフェッチし、セキュリティ上の目的で渡します。

+0

Webアプリケーションでこれを実行すると、サーバからcpu-idが返されるだけなので、これは使えません。しかし、私は小さなプログラムを作ってClient-pcにインストールすることができますが、どのようにしてWebから呼び出すことができますか? – quickKli

+0

実行方法について何か知っている人が1人以上いなければなりません。 または、私は本当に古い方法のようにそれを行う必要があります、ハードウェアを読み取り、GUIDを作成し、プログラムがWebアプリケーションを呼び出すWinformsプログラムを作成します。 Cordova、Ionic、Win-appなどのような新しいテクノロジーがたくさんあることは知っていますが、自分の目的に使用できるかどうかはわかりません。 – quickKli

+0

@quickKli申し訳ありませんが明確ではありません。会社のウェブサイトにアクセスするために作成したDIYブラウザでこのコードを実行します。私は専門家ではありませんが、私は問題に光をあげています。ユーザーが自分の資格情報を入力する前であっても、このパラメーターをユーザーのログインページに渡すべきです。そこから物事をコントロールする。 –

関連する問題