1

我想用 java webapplet 获取硬件 ID。这是可行的吗?如果没有,是否有任何网络语言可以帮助我进行更安全的身份验证?

4

3 回答 3

2

您可以使用如下所述的任何一种方法:

  1. 使用 Signed Java Applet 加载一些 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. 使用嵌入在您的网页中的 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-25T07:15:41.117 回答
1

您可以大致了解Applet 可以做什么和不能做什么,包括访问某些系统属性。特别是,未签名的小程序“无法加载本地库”,这可能是任何类型的硬件识别所必需的。

于 2010-12-25T06:21:51.407 回答