设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2437|回复: 3
打印 上一主题 下一主题

[有事请教] 请问各位大神,怎样使用JS读取电脑的物理地址?

[复制链接]

Lv2.观梦者

梦石
0
星屑
848
在线时间
250 小时
注册时间
2013-10-4
帖子
120
跳转到指定楼层
1
发表于 2018-11-4 21:50:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
请问各位大神,怎样使用JS读取电脑的物理地址?想做个绑定功能

Lv3.寻梦者

梦石
0
星屑
3730
在线时间
1176 小时
注册时间
2016-8-9
帖子
2395

开拓者

2
发表于 2018-11-5 16:54:28 | 只看该作者
本帖最后由 白嫩白嫩的 于 2018-11-5 16:57 编辑

网上找的,不知道能不能帮到楼主,如果做到了绑定,还请回帖多多指教喔


最近遇到一个需求,医院要求呼叫中心账号必须对应MAC地址,也就是说该MAC地址必须和呼叫中心账号对应才可使用,这可就难道我了,这需求就要求每次都判断用户登录的电脑MAC地址是否有呼叫中心账号,当然只针对IE浏览器,毕竟其他浏览器是直接就给禁止此功能的。

那么首先问题一:如何才能通过页面访问得到本地MAC地址

问题二:每台电脑上都有多个MAC地址,那么应该选用哪一个MAC地址

MAC地址是每台电脑链接网络的物理地址,是唯一标识,想要从浏览器获取电脑的信息,那么就需要ActiveX,所以其他浏览器是没有办法通过js获取MAC地址的。

方法一:(推荐)需要客户端设置将服务器地址加入受信任站点

JAVASCRIPT 代码复制
  1. <html>  
  2.  
  3. <head>  
  4.  
  5. <title>获取客户端MAC地址</title>  
  6.  
  7. </head>  
  8.  
  9. <body>  
  10.  
  11. <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object>  
  12.  
  13. <object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object>   
  14.  
  15. <form name="myForm">  
  16.  
  17. <br/>MAC地址:<input type="text" name="macAddress">  
  18.  
  19. <br/>IP地址:<input type="text" name="ipAddress">  
  20.  
  21. <br/>主机名:<input type="text" name="hostName">  
  22.  
  23. </form>  
  24.  
  25. </body>  
  26.  
  27. </html>  
  28.  
  29. <script language="javascript">  
  30.  
  31. var sMacAddr="";  
  32.  
  33. var sIPAddr="";  
  34.  
  35. var sDNSName="";  
  36.  
  37. var service = locator.ConnectServer();  
  38.  
  39. service.Security_.ImpersonationLevel=3;  
  40.  
  41. service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');  
  42.  
  43. </script>  
  44.  
  45. <script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">  
  46.  
  47.          if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true){  
  48.  
  49.                            if(objObject.IPEnabled && objObject.IPAddress(0) !=null && objObject.IPAddress(0) != "undefined")  
  50.  
  51.                                          sIPAddr = objObject.IPAddress(0);  
  52.  
  53.                            if(objObject.MACAddress != null &&objObject.MACAddress != "undefined")  
  54.  
  55.                      sMacAddr = objObject.MACAddress;  
  56.  
  57.                            if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined")  
  58.  
  59.                                          sDNSName = objObject.DNSHostName;  
  60.  
  61.           }  
  62.  
  63. </script>  
  64.  
  65.  
  66.  
  67. <script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">  
  68.  
  69. myForm.macAddress.value=sMacAddr;  
  70.  
  71. myForm.ipAddress.value=sIPAddr;  
  72.  
  73. myForm.hostName.value=sDNSName;  
  74.  
  75. </script>




方法二:


JAVASCRIPT 代码复制
  1. <!DOCTYPE html>
  2.  
  3. <html>  
  4.  
  5. <head>  
  6.  
  7.    <title>获取电脑硬件信息</title>   
  8.  
  9.    <meta name="keywords" content="keyword1,keyword2,keyword3">
  10.  
  11.     <meta name="description" content="this is my page">
  12.  
  13.     <meta name="content-type" content="text/html; charset=GBK">
  14.  
  15.   </head>  
  16.  
  17.   <body>
  18.  
  19.    <script id="clientEventHandlersJS" language="javascript" charset="utf-8">
  20.  
  21. [url]http://www.w3school.com.cn/htmldom/dom_obj_navigator.asp[/url]
  22.  
  23. /******************************************以上为浏览器信息,以下为pc信息************************************************/ try {  var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
  24.  
  25.   var service = locator.ConnectServer(".");
  26.  
  27. //获取网络连接信息
  28.  
  29. function ipinfo(){  
  30.  
  31.   var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE");  
  32.  
  33.   var e = new Enumerator (properties);
  34.  
  35.    var info="<table border=1>";  
  36.  
  37.   info+="<tr bgcolor='#CDEDED' style='font-weight: bold;' >
  38.  
  39. <td width='450'>网络连接信息:</td></tr>";  
  40.  
  41.   var i=1;   
  42.  
  43. for (;!e.atEnd();e.moveNext ()){  
  44.  
  45.    var p = e.item ();   
  46.  
  47.   info+="<tr style='color: red'><td >MAC地址"+i+":" + p.MACAddress + "</td></tr>";     info+="<tr style='color: red'><td >IP地址"+i+":" + p.IPAddress(0) + "</td></tr>";     i++;    }
  48.  
  49.    info+="</table>";    return info;   }
  50.  
  51. function pcInfo() {//所有信息     
  52.  
  53. var info=ipinfo();   
  54.  
  55. /* info+=disk();     info+=raminfo();   
  56.  
  57.   info+=mainBoard();   
  58.  
  59. info+=ipinfo();   
  60.  
  61. info+=keyBoardInfo();   
  62.  
  63. info+=RomInfo();  
  64.  
  65.    info+=softDisk(); */       document.getElementById('elInfo').innerHTML=info;   
  66.  
  67. return info;   } } catch (e) {  document.write(e); }
  68.  
  69.  
  70.  
  71. /******************************************以上为pc信息************************************************/
  72.  
  73. </script>
  74.  
  75. </head>
  76.  
  77. <body >   <!--  <INPUT id="Button1" type="button" value="浏览器所有信息" name="Button1" language=javascript onclick="allinfo()">  -->
  78.  
  79. <INPUT id="Button1" type="button" value="客户端pc信息" name="Button1" language=javascript onclick="pcInfo()">
  80.  
  81. <div id="elInfo" >
  82.  
  83. </div>   </body> </html>
酸酸甜甜就④哇噢
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19260
在线时间
2305 小时
注册时间
2015-7-4
帖子
937
3
发表于 2018-11-5 22:08:20 | 只看该作者
绑定MAC地址太霸道了,再说也不是不能破解,不如采用联网检测,服务器上数据库的东西要修改就难如登天了。

点评

还不会联网这种高阶技能  发表于 2018-11-7 00:10
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 13:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表