Javascript访问硬件
Javascript access to hardware?
我在一家拥有网络和移动应用程序的公司工作。他们将实施一些改变,以获得一个设备ID从移动和基于web浏览器的系统。看起来Javascript有一些能力获得硬件信息,如主板序列号等。我对此感到有点震惊,因为我认为我的桌面浏览器在这方面有些限制。
所以,我的问题是:
- 对于运行不同浏览器的WIN/MAC/Linux桌面系统是否正确? 无论如何,阻止这个并控制不道德的供应商/机构可以从我的系统中删除我的?
这完全是错误的。
浏览器内 Javascript(不使用插件)没有硬件访问,并且(我强烈认为)永远不会有。
一般来说,浏览器制造商(如微软的IE, Google Chrome, Mozilla Firefox等)不提供JavaScript机制来访问特定的硬件信息。
然而,在一些浏览器(特别是"传统"浏览器,如IE6)中,使用ActiveX、插件、Java applet,甚至特定的浏览器漏洞都可以通过在浏览器安全范围之外执行代码来泄露这类信息。您的雇主希望从哪个平台检索这些信息?
下面是一个通过JavaScript使用ActiveX的例子。
我在IE8中亲自测试了这段代码。正确显示主板信息,包括序列号。IE8提示允许脚本运行,但旧版本或配置不合理的版本可能会无条件运行脚本。(原始):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>");
为了防止这种情况发生在您的机器上,请使用现代浏览器(IE9, FF4+, Chrome)并始终保持最新。此外,要注意你安装的插件,更重要的是,你从哪里安装。
- 。证明:FireFox, Chrome/Chromium等等。
- 别担心。JavaScript无法访问这些资源
浏览器无法访问硬件信息。
还有其他javascript工具,如Titanium或node.js可以访问硬件或任何其他信息
相关文章:
- 访问布局信息是否也会导致浏览器重排
- Javascript,访问一个主要对象模块模式中的每个对象
- 如何访问声音管理器2创建的声音对象
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何访问fastOpt.js
- 访问JSON对象内部的数组元素
- 从模块内部访问Express装载路径
- 难以访问的JS环境中的语法错误
- 如何从对象的原型方法访问JavaScript对象属性
- 访问json数组中的对象
- 通过javascript/html访问twitter共享iframe
- Dojo:访问dijit.form.Select中单击的项目
- 如何从浏览器访问硬件时间
- 通过移动浏览器访问硬件功能
- 使用java脚本访问DVD驱动器等硬件的最佳方式是什么
- Javascript访问硬件
- 是否有办法了解'平台'硬件资源?访问网页