我在 Default.aspx 页面中使用该脚本。
<script id="clientEventHandlersJS" type="text/javascript">
function Button1_onclick() {
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
var e = new Enumerator (properties);
document.write("<table border=1>");
dispHeading();
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("<tr>");
document.write("<td>" + p.Caption + "</td>");
document.write("<td>" + p.IPFilterSecurityEnabled + "</td>");
document.write("<td>" + p.IPPortSecurityEnabled + "</td>");
document.write("<td>" + p.IPXAddress + "</td>");
document.write("<td>" + p.IPXEnabled + "</td>");
document.write("<td>" + p.IPXNetworkNumber + "</td>");
document.write("<td>" + p.MACAddress + "</td>");
document.write("<td>" + p.WINSPrimaryServer + "</td>");
document.write("<td>" + p.WINSSecondaryServer + "</td>");
document.write("</tr>");
}
document.write("</table>");
}
function dispHeading()
{
document.write("<thead>");
document.write("<td>Caption</td>");
document.write("<td>IPFilterSecurityEnabled</td>");
document.write("<td>IPPortSecurityEnabled</td>");
document.write("<td>IPXAddress</td>");
document.write("<td>IPXEnabled</td>");
document.write("<td>IPXNetworkNumber</td>");
document.write("<td>MACAddress</td>");
document.write("<td>WINSPrimaryServer</td>");
document.write("<td>WINSSecondaryServer</td>");
document.write("</thead>");
}
</script>
在上面的代码中我试图获取客户端的MAC地址。但我收到错误 在第一行 `var locator = new ActiveXObject ("WbemScripting.SWbemLocator");'
无法创建该 activeX 对象,请帮助我。
最佳答案
WbemScripting 对象未标记为“脚本安全”,这是正确的!如果是的话,任何网页都可以找出您正在运行的进程,终止它们,甚至启动新的应用程序!谈论安全漏洞...
WbemScripting 对象用于 Windows Scripting ,不用于网页。
如果您有权访问客户端计算机,请尝试使用 WScript.exe 或 CScript.exe 从 .js 文件运行代码。 如果客户端计算机在您的网络内并且您知道其名称,您也可以尝试远程运行该脚本;只需替换“.”即可行中的周期
locator.ConnectServer(".");
按机器名称。因此,如果远程计算机的名称是 MACHINE,您应该将该行更改为
locator.ConnectServer("MACHINE");
同样,这需要您使用 WScript 或 CScript 从 .js 文件运行脚本。
最后,您可以尝试降低客户端计算机上 Internet Explorer 的安全设置。但只有当您从不使用该机器在恶劣的互联网上冲浪时才可以这样做,因为它会打开您的浏览器、您的整个 PC 以及连接到它的所有网络,以访问各种令人讨厌的东西...
关于asp.net - JavaScript 中的 ActiveXobject 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/688686/