我们的想法是拥有一个免费下载的网站
但每位用户的每日下载量会有每日限制(例如每位用户每天下载5 dl) 所以会有多个帐户的用户。
我看到一个网站解决了这个问题(部分)www.gameknot.com
他们通过计算机名称或MAC地址或其他我不确定的东西来检测用户, 我在那里注册了3个用户,他们检测到我,说:“这三个用户正在使用同一台电脑”!!并禁止所有三个帐户。
当我重新安装另一个窗口时,问题解决了,我有一个用户。
所以我问自己,“他们是怎么做到的”?
对于我如何处理这个问题有什么建议吗?
答案 0 :(得分:3)
如果我要实现这样一个系统,每个用户只有一个登录或类似的东西,我会做这样的事情:
1:创建机器的ID,基于IP,也许使用JavaScript / Java Applet / Flash你可以获得MAC或者我不知道考虑什么。为简单起见,我假设我计算主机ID如下:
ID = MD5(PUBLIC_IP) + MD5(LOCAL_IP) + MD5(MAC)
2:User1登录并让我假装我计算了主机ID = 666.我们在DB中查找一个表,假设包含此数据的table_hosts(user,host_id)
3:User1使用了全部5次下载(使用会话或数据库中的记录跟踪它们)
4:User1尝试以User2身份登录,现在我们计算ID = 666,相同ID = 666,我们查找table_hosts并发现当天由User1使用相同的主机ID。现在我们可以禁止拥有该ID的账户,在禁令等之前发出20%的警告
希望我能提供帮助,但请记住要有创意,那就重要了!
LE:因为其他人讨论共享机器,ID可以这样计算:
ID = MD5(PUBLIC_IP) + MD5(LOCAL_IP) + MD5(MAC) + MD5(NameOfLoggedOnUser)
但是这也有它的缺点,滥用者可能会在它的机器上创建2个或更多帐户。无论如何,我重复有创意,是的,我们不应该忘记任何锁都可以锁定。
答案 1 :(得分:1)
如果是MAC地址,重新安装Windows不会改变 - 这是硬件地址。
也许他们在你的机器上设置了一个cookie?缺点是用户清除他们的cookie将获得开放访问权。
即使把它绑在一台机器上也有缺点 - 如果它是一台共享机器(在家里甚至是网吧)会怎样。
可能没有理想的解决方案,因为你会遇到一些人合法地做一些看起来很狡猾且狡猾的人看起来合法的事情。
答案 2 :(得分:1)
这里的主要问题是找到控制和烦恼之间的平衡。 对您的控制会更加严重吗?
请记住,出于多种原因,用户的下载失败。您是否允许恢复下载或重新启动它而不会损害用户?
您提到电子邮件验证和唯一的电子邮件帐户并不好。但不要忘记,为此目的创建一个新的电子邮件帐户对大多数用户来说都是一件麻烦事。即使使用现有电子邮件,也要注册新帐户。所以是的,一些用户会得到比他们应该更多的东西但会对业务产生严重的负面影响吗?
如果您希望他们支付额外的下载费用,则会有两种类型。那些珍惜时间和讨厌麻烦的人。让他们轻松,他们会很乐意付钱!这些是您想要关注的客户。
另一组是那些为了不付钱而发明新技巧的人,无论你多么努力。你会发现他们的电脑吗?然后他们会和许多其他电脑一起去互联网商店,所以你什么也得不到。你无法对这些用户做任何事情。但是值得担心吗?
总而言之,也许试图让那些乐于付钱的用户更容易,而不是担心那些不付钱的用户。以下是关于用户友好的一些more discussion。
EDIT。
刚刚注意到这个answer,表明收到假电子邮件比我想象的更容易。但是,有多少用户会知道这项服务?
答案 3 :(得分:0)
他们可能使用cookie或IP来跟踪,两者都容易失败。与所有安全问题一样,这是可用性与安全性的关系。
如果确实如此,非常重要,您可能需要使用短信验证。它可能会像它一样安全......但这是一个非常重要的事情要解决,特别是对于来自非用户的用户。我会选择IP记录(这样你可以定期搜索以查看任何奇怪的模式)和cookie。
答案 4 :(得分:0)
好吧,StackOverflow似乎使用Open ID来解决这个问题,如果不能消除它。
答案 5 :(得分:0)
我经营一个人们注册帐户的免费网站,我遇到过类似的问题。我需要电子邮件验证,我已经记录了IP,但人们总是会找到一种游戏系统的方法。唯一的解决方案是真正经常监控您的网站,以确保没有任何异常情况发生。我有一个案例,其中三个经过验证的帐户只是几分钟后从同一个IP登录,并且所有帐户都执行完全相同的操作。我写信给一位抱怨的用户“哦不,这只是我,我不知道你在谈论什么。”我最终暂停了该用户的帐户,并且所有三个帐户同时变为非活动状态。
我还有另一个案例,有人在创建虚假的电子邮件帐户,但这样做的方式与每次使用相同的密码和类似的电子邮件地址几乎相同。他在网站上造成了问题,所以我禁止他所有的帐户,他最终都停了下来。
只需监控并寻找模式。除了变得非常棘手之外,这几乎就是你能做的所有事情。
祝你好运!