0

我正在创建一个系统,我试图确保用户即使使用不同的电子邮件地址或更改其 IP 也不能多次注册,那么我应该使用什么策略?我可以用饼干做吗?

4

3 回答 3

2

您无法阻止用户多次注册。

用户可能有:

  • 动态IP

  • 清除Cookies

  • 克隆 MAC 地址

  • 使用不同的电子邮件帐户

  • 没有理智的用户会购买额外的硬件,比如生物特征认证

  • 用户可以拥有多张信用卡和地址

最好的情况是,如果在 TOS/AUP 中禁止使用多个帐户,并删除/禁止这些帐户。

于 2012-07-29T02:26:53.713 回答
1

试图绕过基于 cookie 的系统的用户只会清除他的 cookie(或首先不接受它们)。现实生活中的例子 《纽约时报》试图通过设置 cookie 来限制人们每月发表 20 篇文章。虽然这阻止了一些人阅读 20 多篇文章,但许多人认为他们可以删除他们的 cookie 并获得 20 多篇文章(或使用不同的浏览器)。

你也不能使用IP地址。有时用户会经常获得新的 IP 地址。其他时候,一个 IP 地址可能代表许多不同的用户(如果他们在代理服务器后面)。

最接近满足您的要求的是使用设备指纹识别。设备指纹识别的工作原理考虑了多种因素(IP 地址、用户代理、浏览器中安装的字体、浏览器中安装的插件等)。查看

https://panopticlick.eff.org/

了解它是如何工作的。

有几家公司提供这种技术。谷歌“设备指纹”以获取当前列表。如果您的要求是清楚地了解谁可能拥有多个帐户,那么根据您在 Panopticlick 上看到的内容来滚动您自己的基本设备指纹识别也不难,这比 cookie 或 IP 单独告诉您要好。商业产品投入了相当多的工程努力以从“可靠的想法”变为“非常可靠的想法”。

于 2012-07-29T02:22:52.080 回答
1

您需要将用户的注册与无法复制或伪造的东西联系起来。这里有一些想法:

  1. 一些公司已经用手机号码做到了这一点,理论认为大多数人只有一部手机,而不是两三部,或者,至少人们很难轻易获得一个新号码。因此,让人们给您一个电话号码,向他们发送带有代码的 SMS 消息,然后将该电话号码永久绑定到他们的帐户。

  2. 您可以尝试使用处理器 ID 或以太网地址。您需要一些软件来读取 ID(通常使用汇编语言)并返回结果。当然,人们可以破解你的软件,或者从多台机器上注册,但这在某些情况下会很好用。

  3. 强迫人们为他们的账户付款。人们通常不想得到很多。

  4. 放弃。设计您的系统,以便人们可以多次注册。

祝你好运。

于 2012-07-29T04:20:47.203 回答