web程序获取客户端MAC地址

前几天有人问我如何在ASP.NET中获取客户端的MAC地址,当时没多想,google了一段代码给他,如下所示:

Code

      后来跟我说,他本地测试还是可以用的,上传到外网服务器上就不行了,瞄一下,的确,利用ARP数据包来获取MAC地址,在不同网段应该是不行滴。想想,最保险的办法还应是在客户端取得MAC,然后主动发送给服务器,这就要仰仗下javascript了(本人讨厌vbscript),再google了下,在这里找到了解决办法:

      http://zhupan.javaeye.com/blog/26440

      不过看到所提供的代码有点乱,而且不方便调用,于是乎改造了一下,如下所示:

Code

      把这段JS保存到js文件里,然后在web页里直接引用就可以了,无需主动调用某个函数。服务端取MAC地址时:Request.Form["txtMAC"],顺带提供了txtIp和txtPCName两个值。注意,可能需要设置下IE权限。

      顺带提一下,对于用object调用的组件对象的事件,除了在script标签里用event和for属性来指定事件处理器外,还可以用attachEvent来完成,若需要事件里传递的参数,只要保证入参顺序与出参一致就OK了(可参考《javascript高级程序设计》里讲arguments的那一段)。

      :-)

posted @ 2009-06-07 02:03  细雨黄昏  阅读(11910)  评论(2编辑  收藏  举报