2012-11-13 25 views
1

我們上了一個新的開源工具,它使用戶能夠投票工作。這不需要登錄。你如何保證單提交給API沒有登錄

現在,這裏的挑戰是:我們如何能夠保證API僅每天一次所謂從一個特定的機器,而不需要用戶登錄?

我們認爲,這很容易被欺騙,但也許還有一些我們沒有想過的解決方案。

回答

2

沒有,如果你不打算要求用戶在您的網站/應用程序註冊一個充分論證的解決方案。由於您不需要他們註冊/登錄,因此您僅限於兩種選擇:IP或cookie的獨特投票。

IP地址

容易通過在數據存儲中存儲的投票IP地址,然後參照實施下一次投票來自同一個IP的用武之地。但是,許多ISP(例如AOL)可以爲多個用戶使用相同的IP地址(通過代理)。因此,你會阻止那些沒有投票的人能夠投票。

餅乾

這種方法將更加具體的客戶端,這意味着一旦他們從機,他們將不能再次投票表決。但是,由於用戶可以刪除cookie並重新投票(或者在沒有cookie的同一臺計算機上打開不同的瀏覽器),因此這種方法的穩健性更差。

總之,如果你不能強迫用戶註冊,並在系統中建立的獨特性,你可以依靠上述兩種解決方案,但他們不會成爲強大的,並會用自己的侷限性。

+0

我認爲我們會用IP速率限制器。它可以被欺騙,但並不重要。我們已經100%肯定,如果沒有登錄,這是不可能的,但你永遠不知道更聰明的人走遍這個世界。 –