如何确保单一提交到API而无需登录

时间:2012-11-13 20:56:11

标签: security api login

我们正在开发一种新的开源工具,使用户能够投票。无需登录即可。

现在面临的挑战是:我们如何才能确保每天只从特定计算机调用一次API,而无需用户登录?

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

1 个答案:

答案 0 :(得分:1)

如果您不想要求用户在您的网站/应用上注册,则没有完整的证明解决方案。由于您不要求他们注册/登录,因此您只能选择两种方式:通过IP或Cookie进行独特投票。

IP地址

通过将投票的IP地址存储在数据存储中,然后在下次投票来自同一IP时引用,即可轻松实现。但是,许多ISP(如AOL)可以为多个用户使用相同的IP地址(通过代理)。结果,你将阻止那些没有投票的人能够投票。

<强>曲奇

这种方法将更加针对客户,这意味着一旦他们从该机器投票,他们将无法再次投票。但是,由于用户可以删除cookie并再次投票(或在没有cookie的同一台机器上打开不同的浏览器),因此效果更差。

简而言之,如果你不能强迫用户注册并在系统中建立唯一性,你可以依赖上面的任何一种解决方案,但它们不会很强大,并且会有其自身的局限性。