日期:2014-05-17  浏览次数:20365 次

.net到底能不能得到客户端mac地址
网上找了出现大致3种:
第1种 写服务器cs代码select MACAddress from Win32_NetworkAdapterConfiguration 只能获得服务器mac地址
第2种.js,service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');现在的浏览器默认就不支持ActiveX
第3种 ……Process proc = new Process();proc.StandardOutput.ReadToEnd();……这些是要传一个客户端ip但是企业里面基本都是一个ip,这样效果就不好。
现在正在做一个限限制ip的页面,但是太多企业用一个外网ip了,所以想用mac地址做限制,
请问各位兄弟姐妹到底有没有哪位给个明确的答复,应该怎么做才可以实现呢,分不是最多的,问题却是最迫切的,希望各位帮忙,谢谢先了


------解决方案--------------------
应该不能,除非像银行网站下载安装文件
------解决方案--------------------
除了ActiveX,目前据本人所知,别无他法.

另外ActiveX适用范围太窄了.而且有安全性问题.

该问题一般来说,无解.
------解决方案--------------------
安全通用的方法

HTML code


请输入MAC地址:______________________________
[提交]

------解决方案--------------------
探讨

安全通用的方法

HTML code


请输入MAC地址:______________________________
[提交]

------解决方案--------------------
如果是提交投票之类的限制IP也就罢了,一般其他的应用还是不要去限IP为好.
谁跟钱过不去?

另外可以IP + 客户端提交的 User-Agent 做二次粗略筛选.

探讨

谢谢各位的解答,回复晚了,那这样来说的话,也只有限ip了,可怜的企业用户

------解决方案--------------------
完全可以获取,我们已经使用过,前提是需要关闭Windows防火墙。
------解决方案--------------------
你的客户端,值得是什么? 如果客户端是你自己开发的当然可以,如果你是BS的,你想都不要想了。
------解决方案--------------------
客户端如果直接连接或通过二层设备(非路由)连接你的机器那么基本没有问题。
否则你只能获得上一跳连接设备的MAC地址(专用设备例外)
------解决方案--------------------
如果你安装了winpcap包,从你获取的数据报文里就有地址,但具体是上一跳还是客户机就得看实际场景了。