当前位置:编程学习 > C#/ASP.NET >>

静态网页中,如何通过js代码获得本机的CPU序列号、硬盘ID等信息!!!

各位大哥:
静态网页中,如何通过js代码获得本机的CPU序列号、硬盘ID等信息,我想用这些信息来生成密码,使每台机器密码不同。我在网上找到的都是基于.Net的,但我这套系统是通过静态网页,再打包成chm文件分发给用户的,哪位有好的解决方法吗?
或是有什么好的工具,给文件加密,使每台机器打开密码不同。
--------------------编程问答-------------------- /。 --------------------编程问答-------------------- js好像能获得MAC地址 ,不过需要把IE的安全性设置为很低才行.所以js获取的做法并不可去! --------------------编程问答-------------------- up --------------------编程问答-------------------- 你太看得起JS了。 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 可以。。。  我最近也在找。。 你解决了没? --------------------编程问答-------------------- 即便是可以,都会被浏览器阻止的,这样不安全 --------------------编程问答-------------------- 娜娜姐 --------------------编程问答-------------------- JS  恐怕不行   
你后台获取了  
异步返回给JS??想不通 
返回给JS干什么     你直接后台获取了  当怎么做怎么做

1. 在ASP.NET中专用属性:

  获取服务器电脑名:Page.Server.ManchineName

  获取用户信息:Page.User

  获取客户端电脑名:Page.Request.UserHostName

  获取客户端电脑IP:Page.Request.UserHostAddress

  2. 在网络编程中的通用方法:

  获取当前电脑名:static System.Net.Dns.GetHostName()

  根据电脑名取出全部IP地址:static System.Net.Dns.Resolve(电脑名).AddressList

  也可根据IP地址取出电脑名:static System.Net.Dns.Resolve(IP地址).HostName

  3. 系统环境类的通用属性:

  当前电脑名:static System.Environment.MachineName

  当前电脑所属网域:static System.Environment.UserDomainName

  当前电脑用户:static System.Environment.UserName
--------------------编程问答-------------------- 楼上的正解,在后台获取,然后通过ajax异步显示到页面中 --------------------编程问答-------------------- <html>
<script language="javascript">
function button1_onclick() {//cpu 信息   
 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");    
 var service = locator.ConnectServer(".");    
 var properties = service.ExecQuery("SELECT * FROM Win32_Processor");    
 var e = new Enumerator (properties);    
 document.write("<table border=1>");    
 for (; !e.atEnd(); e.moveNext ())   
 {   
 var p = e.item ();    
 document.write("<tr>");    
 document.write("<td>" + p.Caption + "</td>");    
 document.write("<td>" + p.DeviceID + "</td>");    
 document.write("<td>" + p.Name + "</td>");    
 document.write("<td>" + p.CpuStatus + "</td>");    
 document.write("<td>" + p.Availability + "</td>");    
 document.write("<td>" + p.Level + "</td>");    
 document.write("<td>" + p.ProcessorID + "</td>");    
 document.write("<td>" + p.SystemName + "</td>");    
 document.write("<td>" + p.ProcessorType + "</td>");    
 document.write("</tr>");    
 }   
 document.write("</table>");    
}   
  
function Button2_onclick() {//CD-ROM 信息   
 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");    
 var service = locator.ConnectServer(".");    
 var properties = service.ExecQuery("SELECT * FROM Win32_CDROMDrive");    
 var e = new Enumerator (properties);    
 document.write("<table border=1>");    
 for (; !e.atEnd(); e.moveNext ())   
 {   
 var p = e.item ();    
 document.write("<tr>");    
 document.write("<td>" + p.Caption + "</td>");    
 document.write("<td>" + p.Description + "</td>");    
 document.write("<td>" + p.Drive + "</td>");    
 document.write("<td>" + p.Status + "</td>");    
 document.write("<td>" + p.MediaLoaded + "</td>");    
 document.write("</tr>");    
 }   
 document.write("</table>");    
}   
  
function Button3_onclick() {//键盘信息   
 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");    
 var service = locator.ConnectServer(".");    
 var properties = service.ExecQuery("SELECT * FROM Win32_Keyboard");    
 var e = new Enumerator (properties);    
 document.write("<table border=1>");    
 for (; !e.atEnd(); e.moveNext ())   
 {   
 var p = e.item ();    
 document.write("<tr>");    
 document.write("<td>" + p.Description + "</td>");    
 document.write("<td>" + p.Name + "</td>");    
 document.write("<td>" + p.Status + "</td>");    
 document.write("</tr>");    
 }   
 document.write("</table>");    
}   
  
function Button4_onclick() {//主板信息   
 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");    
 var service = locator.ConnectServer(".");    
 var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard");    
 var e = new Enumerator (properties);    
 document.write("<table border=1>");    
 for (; !e.atEnd(); e.moveNext ())   
 {   
 var p = e.item ();    
 document.write("<tr>");    
 document.write("<td>" + p.HostingBoard + "</td>");    
 document.write("<td>" + p.Manufacturer + "</td>");    
 document.write("<td>" + p.PoweredOn + "</td>");    
 document.write("<td>" + p.Product + "</td>");    
 document.write("<td>" + p.SerialNumber + "</td>");    
 document.write("<td>" + p.Version + "</td>");    
 document.write("</tr>");    
 }   
 document.write("</table>");    
}  
</script>
<body>
<input type="button" value="CPU" onclick="button1_onclick()">

<input type="button" value="CD-ROM 信息" onclick="Button2_onclick()">
<input type="button" value="键盘信息" onclick="Button3_onclick()">
<input type="button" value="主板信息" onclick="Button4_onclick()">
</body>
</html> --------------------编程问答-------------------- 楼上的。你这样得到的是服务器端的一系列信息啊。。。。 --------------------编程问答-------------------- 为什么是JS?  LZ 用AJAX好了 在另外个页面处理了再传回来  显示就好了啊,   别人又看不出来 --------------------编程问答--------------------
引用 12 楼 wanglei0420 的回复:
楼上的。你这样得到的是服务器端的一系列信息啊。。。。


怎么回事服务器上的!把他放到iis 或者tomact下。。访问他获取的是你本机的硬件信息 --------------------编程问答-------------------- 楼上那个降低了安全性  不可取。。。   --------------------编程问答-------------------- 楼上的正解,在后台获取,然后通过ajax异步显示到页面中 --------------------编程问答--------------------  都看清标题再说吧,
    LZ想要的是每个客户端的硬件信息。


 JS好像办不到这个。换个思路吧。 --------------------编程问答-------------------- 安全性限制是不能获取的 --------------------编程问答-------------------- JS可以读,但JS没有特别的设定,是没有权限的。

就好像以前的AJAX的跨域操作,以前IE5的时候是可以的,IE6就会提示一个安全警告,IE6SP1后就提示异常没有访问权限,现在就更不行了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,