最佳数据组合,以确保Web用户的唯一性?

时间:2012-03-22 11:02:01

标签: c# asp.net

如何确保使用您的投票系统投票的匿名网络用户是唯一的(每位匿名用户只投票一次)?

我能想到:
 1.客户的IP地址
 2.客户的机器名称
 3. MAC地址
 4.存储cookie

据我所知,你不能得到(2)& (3)在Web开发中,(4)不保证,因为用户可以删除/不允许cookie

您认为如何更好地实现独特性?

3 个答案:

答案 0 :(得分:0)

实现唯一性的唯一安全方法是让用户登录。

仅使用IP不够好,因为IP可能会被搞乱,并且可能有多个用户在同一IP后面

甚至可以轻松更改MAC地址(有免费软件工具)

Cookie显然不是很可靠

答案 1 :(得分:0)

我认为只有具有外部(非IT,人类系统)认证的登录系统才能提供非常高的确定性,例如:支持政府投票但出于出租方目的考虑浏览器的唯一性

Web Browsers Leave 'Fingerprints' Behind as You Surf the Net Browser Fingerprinting Can ID You Without Cookies

答案 2 :(得分:0)

评论你的想法:

1)IP地址可以在很多用户之间共享(例如,我的IP地址对于整个公寓楼块来说都是一样的......),这可能是一个问题

2,3)是的,没有一些浏览器扩展或其他类似的东西可能是不可能的

4)cookie可以被删除,但某种第三方cookie(例如通过iframe)可能是简单的解决方案,因为用户可能不会在cookie列表中查找...如果我想投票在example.com上,我可能不会从example2.com中寻找cookie ...我希望我明确表达我的意思。

我会将浏览器代理字符串添加为数字5。

但其他答案是正确的,通过邮寄或其他东西注册邮寄确认码可能只是“安全”的解决方案。但你的问题是匿名所以......

当然,不可能100%确定用户是唯一的......