2012-11-13 23 views
1

我们上了一个新的开源工具,它使用户能够投票工作。这不需要登录。你如何保证单提交给API没有登录

现在,这里的挑战是:我们如何能够保证API仅每天一次所谓从一个特定的机器,而不需要用户登录?

我们认为,这很容易被欺骗,但也许还有一些我们没有想过的解决方案。

回答

2

没有,如果你不打算要求用户在您的网站/应用程序注册一个充分论证的解决方案。由于您不需要他们注册/登录,因此您仅限于两种选择:IP或cookie的独特投票。

IP地址

容易通过在数据存储中存储的投票IP地址,然后参照实施下一次投票来自同一个IP的用武之地。但是,许多ISP(例如AOL)可以为多个用户使用相同的IP地址(通过代理)。因此,你会阻止那些没有投票的人能够投票。

饼干

这种方法将更加具体的客户端,这意味着一旦他们从机,他们将不能再次投票表决。但是,由于用户可以删除cookie并重新投票(或者在没有cookie的同一台计算机上打开不同的浏览器),因此这种方法的稳健性更差。

总之,如果你不能强迫用户注册,并在系统中建立的独特性,你可以依靠上述两种解决方案,但他们不会成为强大的,并会用自己的局限性。

+0

我认为我们会用IP速率限制器。它可以被欺骗,但并不重要。我们已经100%肯定,如果没有登录,这是不可能的,但你永远不知道更聪明的人走遍这个世界。 –