首页 新闻 会员 周边

Asp.net如何获取电脑唯一标识

0
悬赏园豆:50 [待解决问题]

场景是这样的:公司内部有个签到功能,现在发现别人代签的现象比较严重,如何用asp.net获取客户端的唯一标识呢,不考虑用activex控件,网上的获取MAC地址,网卡标识等,都是获取服务器的,虚心求教解决方案,谢谢大家。

魂淡的主页 魂淡 | 初学一级 | 园豆:152
提问于:2013-08-05 10:35
< >
分享
所有回答(7)
0

你可以使用 IP 来判断,登录后才能签到,账户名和 IP 绑定。

为了防止别人代为登录,可以使用指纹密码,这是废话,下面这招管用:

登录成功后可以看到账户的工资条。

Launcher | 园豆:45045 (高人七级) | 2013-08-05 10:40

页面签到,是针对在外实施的人,他们有的在一块儿,他们年轻小伙子内裤都可以相互借着穿,工资条。。

支持(0) 反对(0) 魂淡 | 园豆:152 (初学一级) | 2013-08-05 10:44

@魂淡: 防止不了代签,所有方法都只是增加代签的成本而已,你应该根据你的需求选择合适的方式来实现。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-08-05 11:21
0

客户端要唯一的标识,且不要activex 那就只有IP了, 

string UIP = context.Request.UserHostAddress.ToString();

前提是服务器必须是内网,这样获取到的就是局域网IP,每台电脑对应一个局域网IP,但是局域网IP是可以随便更改的啊,这样代签的人更改N次IP就把要代签的全部代签混过去了。

 

 

考虑思路2:  在每个员工的电脑上以cookies形式存储一份加密字符串(时间永久,不要让员工知道),然后每次验证cookies,验证不通过则不能签到

_沫尘 | 园豆:204 (菜鸟二级) | 2013-08-05 10:53

页签是广域网的,获取的是公共IP,你的思路2没看明白验证加密cookie怎么防止一个电脑签到2个用户,谢谢你的回答。

支持(0) 反对(0) 魂淡 | 园豆:152 (初学一级) | 2013-08-05 11:01
1

出于安全,ASP.NET是无法获取客户端的Mac地址的。

如果不用activex的话,我觉得你可以做个签到的客户端,例如最简单的winform调用webservice~

libaoheng | 园豆:1433 (小虾三级) | 2013-08-05 11:02

早上写了个activex,在chrome下运行太麻烦了,遂放弃,看来只有写winform了。

支持(0) 反对(0) 魂淡 | 园豆:152 (初学一级) | 2013-08-05 11:09
0

其实你也知道mac地址也是可以修改的。

chenping2008 | 园豆:9836 (大侠五级) | 2013-08-05 11:54
0

每次上传一张人脸和电脑屏幕一起的照片...

幻天芒 | 园豆:37175 (高人七级) | 2013-08-05 13:04

...

支持(0) 反对(0) 魂淡 | 园豆:152 (初学一级) | 2013-08-05 13:46

@魂淡: 哈哈~玩笑!

其实用ip和hostName即可。Request中的属性~

当然,防作弊如果只是签到的话,还是不行的!

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-08-05 14:07
0

几百快钱买个签到设备得了,按你的要去,永远不能做到完美解决。

小兵仔 | 园豆:1240 (小虾三级) | 2013-08-06 17:22
0

在外面就没法解决了,按指纹,淘宝上还有卖指模的呢。况且是Web签了

luofer | 园豆:468 (菜鸟二级) | 2013-08-09 11:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册