2013-04-21 74 views
2

如果我创建一个ASP.net页,我能够获得当前用户的CPUID和BIOS序列号?或者这是不允许的,因为安全?ASP.net获得硬件信息

我现在有一个Visual Basic.net应用程序获取这些价值,我只是想知道如果我可以做一个网页上同样的事情。

回答

1

如果你做一个网页上,你会得到服务器的BIOS序列号。因为VB.NET函数在服务器上运行。

你不能从一个简单的HTML/JS/CSS网页访问这些数据。对不起,这是一件安全的事情。访问某个互联网页面时,您不希望任何人知道您的硬件规格。

2

在坚果壳,没有你不能使用只是一个普通的HTML & JavaScript的网页信息。

但是这不是说这是不可能的。

如果您的客户端计算机安装了Java,Flash或Silverlight灯,那么它不能使某些插件架构以某种方式查询客户端计算机并收集这些数据。我确实知道从Java Applet中可能会有这种情况,因为许多像Nvidia和AMD这样的公司都在使用它来获取硬件信息,因为它们提供了可下载驱动程序的选择。

虽然这些人可能不会找BIOS中的序列号与此类似的,他们是由他们使用同样的方法和方法将需要阅读你所寻求的信息做什么的本质。

我个人一直使用它银轻,但在受控的环境,我在客户端计算机上运行什么有发言权也做。

现在,超越原来的问题,大多数人都问这个性质的问题,因为他们正在寻找一种方式来唯一地标识访客到他们的网站通常无需保存cookie或类似。

我以前在代码专家的.NET螺母和螺栓列上发表了一些关于我写的帖子的方法(Link Here),并且当前最常见的一种是指纹印刷技术。

实质上,指纹打印技术通过将大多数现代浏览器现在提供给Web服务器的所有标准数据组合起来,然后使用这些数据形成某种类型的哈希令牌或唯一标识符。

你需要什么,以确保如果你去然而,使用这种方法,就是你不接有可能过于频繁改变数据位。像用户代理,屏幕分辨率,操作系统版本,Java版本和类似的东西通常是很好的选择。您也可以通过使用IP地址获得,但我会小心,因为现在大多数消费者都处于动态状态,因此可能会意外更改。

你应该避免的事情,如果你要去指纹是像当前日期&时间,浏览器名称存在一个特定的头(当然,除非它是你提供的头),任何事情会给你一个答案,可以是与其他许多系统广泛匹配,或者频繁变化是一个不好的选择。

您也可以尽量在客户端使用JavaScript,使用客户端本身的本地信息创建哈希,然后使用ajax调用或使用隐藏窗体或url参数将哈希发送给您。