在asp .net中如何获取客户端的mac地址或者硬盘序列号?望有经验的朋友多多指教。。。
获取不到
写ActiveX控件也不行吗?
@Sam_Y: ActiveX不属于ASP.NET的范畴
@dudu: 恩,明白。我主要是想实现限制用户登录。比如说某一个用户名只能在某一台电脑上才能进行登录,不知道这方面你有好的方案没有?
@Sam_Y: 可以考虑通过Cookie进行控制
@dudu:能具体的说说吗? 比如Cookie应该存什么值?
ActiveX不属于asp.net,相当于在本地写一个c/s的程序,用ActiveX可以获取,但是只能运行在ie浏览器上
这就不好了,总不能告诉用户只能用IE进行访问吧。我主要是想实现限制用户登录。比如说某一个用户名只能在某一台电脑上才能进行登录,不知道这方面你有好的方案没有?
还可以考虑使用vb script(苹果机上是否支持待考证),可以查询“ASP获取网卡物理地址MAC”这样的关键字,因为asp用的就是vb脚本,不过这和asp.net关系不大,供参考。
通常B/S开发,如果为了授权相关的事,使用的一般也是服务器的MAC地址或是硬盘序列号。
因为客户端浏览器安全性方面天生的限制,不建议去采集客户端的硬件信息,
如果是为了登录安全方面的考虑,则通常使用证书或是其他方式。
我主要是想实现限制用户登录的功能。比如说某一个用户名只能在某一台电脑上才能进行登录,不知道这方面你有好的方案没有?
@Sam_Y: B/S的优点就是可以到处登录,你这是要想WINFORM靠拢的节奏啊。
如果是公司内部网,可以考虑固定IP,然后IP绑定用户名之类的方法。
@爱编程的大叔: 关键点就是在于外部网络访问。
@Sam_Y: 这个太容易了,花800~2000元,买一个VPN路由器,让外部的人员VPN拨号进来,
这样够安全了吧,VPN账号1天1换,哈哈...
@爱编程的大叔: 提到钱的时候我想可能这件事情是做不下去了。嘿嘿
@Sam_Y: 说得好象你们公司不需要给写代码的(或者是码农,还是那个修电脑的...玩游戏的)发工资似的,哈哈。
其实大部份时候买硬件的成本都是低于开发成本的,不过知道的人不多,这是我保守了好多年的秘密...
我只告诉你,你要保密...
@爱编程的大叔: 又看到你了0.0
使用activeX吧,只有用这个类似的东东了,此外,尝试下Flash是否支持。
这个内容,必须走本地代码的方案的(包括Flash),纯粹的Web应用是做不到的。
http://www.cnblogs.com/qixuejia/archive/2011/01/12/1933442.html
连接里面的内容都是获取服务器上的吧
@Sam_Y: yes!
照你这样说的话,你的网站应该是在内部网使用的,而不是公开的。这样的话你肯定可以收集到内网的IP地址和MAC地址对应的信息,这样在后台就可以做相应的限制了。
关键就是在于供外部网络访问。
@Sam_Y:
如果是外部网,你怎么知道什么机器用户不应该登陆呢???
@XiaoFaye: 现在就是不太清楚了,刚开始的思路是从客户端的mac地址或者硬盘序列号入手。现在发现太难了
@Sam_Y: 我意思是说,就算让你拿到MAC地址了,你怎么判断这个电脑可不可以给用户登陆?????? 你连基本的逻辑关系都没搞清楚呀。。。。
@XiaoFaye: mac值是和用户绑在一起的,登录的时候在多加一个mac的判断就行了
@Sam_Y:
问题是你怎么知道用户名应该和哪个MAC值绑定在一起?难道是用户注册时机器的MAC值?还是说第一次登陆的MAC值?或者是管理员告诉你的MAC值?
@XiaoFaye: 之前我是这么想的,在注册用户的时候只能在该用户指定使用的电脑上进行注册,那这个时候我就可以把mac值和用户信息一起存入到数据表中,那么该用户在其他电脑进行登录就不能进入系统了,这样就能达到客户的要求了。但是这有一个前提就是mac值不能去更改,而且限制就比较多了。
@Sam_Y:
我觉得是你需求的实现方式理解错了,如果不嫌弃的话,可以加我QQ一起讨论下,我把QQ号短消息给你。
@XiaoFaye: 好的,先谢谢了
获取不到,web程序是在服务器上运行的,只能获取服务器的mac,想获取只能用active插件