静态网页中,如何通过js代码获得本机的CPU序列号、硬盘ID等信息!!!
各位大哥:静态网页中,如何通过js代码获得本机的CPU序列号、硬盘ID等信息,我想用这些信息来生成密码,使每台机器密码不同。我在网上找到的都是基于.Net的,但我这套系统是通过静态网页,再打包成chm文件分发给用户的,哪位有好的解决方法吗?
或是有什么好的工具,给文件加密,使每台机器打开密码不同。
--------------------编程问答-------------------- /。 --------------------编程问答-------------------- js好像能获得MAC地址 ,不过需要把IE的安全性设置为很低才行.所以js获取的做法并不可去! --------------------编程问答-------------------- up --------------------编程问答-------------------- 你太看得起JS了。 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 可以。。。 我最近也在找。。 你解决了没? --------------------编程问答-------------------- 即便是可以,都会被浏览器阻止的,这样不安全 --------------------编程问答-------------------- 娜娜姐 --------------------编程问答-------------------- JS 恐怕不行
你后台获取了
异步返回给JS??想不通
返回给JS干什么 你直接后台获取了 当怎么做怎么做
--------------------编程问答-------------------- 楼上的正解,在后台获取,然后通过ajax异步显示到页面中 --------------------编程问答-------------------- <html>
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
<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好了 在另外个页面处理了再传回来 显示就好了啊, 别人又看不出来 --------------------编程问答--------------------
怎么回事服务器上的!把他放到iis 或者tomact下。。访问他获取的是你本机的硬件信息 --------------------编程问答-------------------- 楼上那个降低了安全性 不可取。。。 --------------------编程问答-------------------- 楼上的正解,在后台获取,然后通过ajax异步显示到页面中 --------------------编程问答-------------------- 都看清标题再说吧,
LZ想要的是每个客户端的硬件信息。
JS好像办不到这个。换个思路吧。 --------------------编程问答-------------------- 安全性限制是不能获取的 --------------------编程问答-------------------- JS可以读,但JS没有特别的设定,是没有权限的。
就好像以前的AJAX的跨域操作,以前IE5的时候是可以的,IE6就会提示一个安全警告,IE6SP1后就提示异常没有访问权限,现在就更不行了。
补充:.NET技术 , ASP.NET