1

Java Web アプレットでハードウェア ID を取得したいと考えています。これは実行可能ですか?そうでない場合、より安全な認証を支援するためにこれを行うことができる Web 言語はありますか?

4

3 に答える 3

2

以下に説明するように、任意の1つのアプローチを使用できます。

  1. 署名付きJavaアプレットを使用して、JNI互換の共有ライブラリをロードし、作業を完了します。

    public NativeHelloApplet() {
    AccessController.doPrivileged(new PrivilegedAction() {
        public Object run() {
        try {
            System.load(System.getProperty("user.home") +"/libhello.so");
            displayHelloWorld();
        }catch(Exception e) {
            e.printStackTrace();
        }
        return null;
        }
    });
    

    }

  2. Webページに埋め込まれたVBスクリプトを使用します。サンプルは次のとおりです。

    Win32_SystemEnclosureクラス、およびプロパティSerialNumberとSMBIOSAssetTagを使用します。

    strComputer = "." Set objWMIService =
    GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\"
    _
    & strComputer & "\root\cimv2") Set colSMBIOS = objWMIService.ExecQuery _
    ("Select * from Win32_SystemEnclosure") For Each
    objSMBIOS in colSMBIOS
    Wscript.Echo "Part Number: " & objSMBIOS.PartNumber
    Wscript.Echo "Serial Number: " _
        & objSMBIOS.SerialNumber
    Wscript.Echo "Asset Tag: " _
        & objSMBIOS.SMBIOSAssetTag Next
    
  3. 関心のあるすべてのブラウザ用のプラグインを設計し、それらを使用してデータを収集します。MSは、FireFoxでの認証済みソフトウェアのチェックにこれを使用します。

もっと知りたい場合は、遠慮なくお知らせください。その場合、私はhttp://puspendu.wordpress.com/で私のブログに書きます

于 2010-12-25T09:17:58.347 に答える
1

特定のシステム プロパティへのアクセスを含め、アプレットでできることとできないことの概要を把握できます。特に、署名されていないアプレットは「ネイティブ ライブラリをロードできません」。これは、あらゆる種類のハードウェア識別に必要となる可能性があります。

于 2010-12-25T06:21:51.407 に答える
1

そうでない場合、より安全な認証を支援するためにこれを行うことができる Web 言語はありますか?

問題は認証の強度ではありません。むしろ、ユーザーのブラウザーで実行されている Web 言語が、リモート Web サービスがユーザーのハードウェアやファイルなどにアクセスすることを許可する必要があるかどうかです。答えは、強調された「NO IT SHOULD NOT」です。信頼できるプラグインまたは証明書。

于 2010-12-25T07:15:41.117 に答える