5

我们的想法是我们有一个免费下载的网站

但是每个用户的每日下载量都会有每日限制(比如每个用户每天 5 dl),因此会有多个帐户的用户。

  1. IP检测不好;因为我有很多来自一个 ip 的用户(来自一个组织的用户)
  2. 电子邮件验证和唯一电子邮件帐户不好;您可以创建多个帐户
  3. 短信确认不好;用户可以使用他/她的朋友手机号码注册另一个帐户

我看到一个网站解决了这个问题(部分)www.gameknot.com

他们通过计算机名称或MAC地址或其他我不确定的东西检测用户,我在那里注册了3个用户,他们检测到我,说:“这三个用户正在使用同一台计算机”!并禁止所有三个帐户。

当我重新安装另一个 Windows 时,问题解决了,我在那里有一个用户。

所以我问自己,“他们是怎么做到的”?

关于如何处理这个问题有什么建议吗?

4

6 回答 6

3

如果我要实现这样一个系统,每个用户只有一个登录或类似的东西,我会做这样的事情:

1:创建机器的ID,基于IP,可能使用JavaScript/Java Applet/Flash 可以获取MAC 或者我不知道在考虑什么。为简单起见,假设我这样计算主机 ID:

ID = MD5(PUBLIC_IP) + MD5(LOCAL_IP) + MD5(MAC)

2:用户 1 登录,假设我计算出的主机 ID = 666。我们在数据库中查找一个表,假设 table_hosts 包含此数据(用户,主机 ID)

3:用户 1 使用了所有 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 个或更多帐户。无论如何,我再说一遍要有创意,是的,我们不应该忘记任何锁都可以被撬开。

于 2009-12-26T21:04:35.773 回答
1

如果是 MAC 地址,重新安装 Windows 不会改变任何事情 - 那是一个硬件地址。

也许他们正在从你的机器上设置一个 cookie?不利的一面是,清除 cookie 的用户将获得开放访问权限。

即使将它绑定到一台机器上也有缺点 - 如果它是一台共享机器(在家里甚至是网吧)。

可能没有理想的解决方案,因为在某些情况下,有人合法地做一些看起来很狡猾的事情,而狡猾的人看起来很合法。

于 2009-12-26T20:56:06.913 回答
1

这里的主要问题是在控制和烦恼之间找到平衡。对您的更多控制是否会给您的用户带来更多烦恼?

请记住,用户可能因多种原因下载失败。您是否允许在不惩罚用户的情况下恢复下载或重新启动它?

您提到电子邮件验证和唯一电子邮件帐户不好。但是不要忘记,仅仅为此目的创建一个新的电子邮件帐户对大多数用户来说是一件麻烦事。即使使用现有电子邮件注册新帐户也是如此。所以是的,一些用户会得到比他们应该得到的多一点,但这会对业务产生严重的负面影响吗?

如果您希望他们为额外的下载付费,将有两种类型。那些珍惜时间和讨厌麻烦的人。让他们轻松一点,他们会很乐意付钱的!这些是您想要关心的客户。

另一类人是那些为了不付钱而发明新花样的人,不管你有多努力。你会检测到他们的电脑吗?然后他们会和许多其他电脑一起去网上商店,所以你一无所获。您对这些用户无能为力。但值得担心吗?

因此,总而言之,也许尝试让乐于支付的用户更容易,而不是担心那些无论如何都不会支付的用户。这里有更多关于用户友好的讨论。

编辑。

刚刚注意到这个答案,表明获取虚假电子邮件比我想象的更容易。但是,有多少用户会知道这项服务呢?

于 2013-09-16T16:44:36.637 回答
0

他们可能使用 cookie 或 IP 进行跟踪,两者都很容易被击败。与所有安全问题一样,这是可用性与安全性的问题。

如果它真的非常重要,您可能需要使用短信验证。它可能会尽可能安全......但这是一件非常重要的事情要解决,尤其是对于来自非用户的用户。我只会使用 IP 日志记录(因此您可以定期进行搜索以查看任何奇怪的模式)和 cookie。

于 2009-12-26T20:56:02.997 回答
0

好吧,StackOverflow 似乎使用Open ID来解决这个问题,如果不是消除它的话。

于 2009-12-26T21:13:59.623 回答
0

我经营一个免费网站,人们可以在其中注册帐户,我遇到了一些与您类似的问题。我已经要求进行电子邮件验证并且我已经记录了 IP,但人们总是会找到一种方法来玩弄这个系统。唯一的解决方案是经常监控您的站点,以确保没有发生异常情况。我有一个案例,三个经过验证的帐户在几分钟后从同一个 IP 登录,并且都执行完全相同的操作。我写信给一位抱怨“哦不,只是我,我不知道你在说什么”的用户。我最终暂停了该用户的帐户,所有三个帐户同时变为非活动状态。

我还遇到过另一个案例,有人创建了虚假的电子邮件帐户,但每次都使用相同的密码和类似的电子邮件地址以几乎相同的方式进行操作。他在网站上造成了问题,所以我禁止了他的所有帐户,他最终停止了。

只需监控并寻找模式。除了变得非常棘手之外,这几乎就是您所能做的。

祝你好运!

于 2009-12-26T21:24:58.383 回答