2012-11-12 73 views
0

我需要構建一個Facebook iFrame應用程序,該應用程序運行的是用戶通過在網站上進行各種活動獲得積分的競賽。比賽獲勝者將成爲積分最多的用戶。
如何防止某人使用機器人在站點上劃分點數?我不認爲使用驗證碼是非常可行的,因爲用戶可以獲得積分的網站有很多不同的區域,我不希望用戶每次進入網站都必須執行驗證碼。如何防止Facebook應用程序被機器人使用

有沒有其他的選擇?

回答

0

您可以依靠Facebook Signed Request - 它存儲有關每個登錄用戶的獨特信息。因此,一種情況是檢查Facebook上下文(存在簽名的請求)是否存在某些用戶ID等。如果沒有這種情況,您應該重定向到應用程序的主頁。

+0

但是機器人不能假裝成合法的Facebook用戶嗎?或者至少有一個人可以在他們登錄後運行他們的機器人。 – MakkyNZ

1

您可以分析兩次活動之間的時間,如果過於規律,則禁止用戶。您還可以分析執行中的模式,例如「點擊A,等待0.5秒,然後B,然後重複」。

當然這並不是傻瓜證明(機器人可能會在操作之間添加一個隨機時間延遲),但是如果任務足夠匿名以便由機器人執行並且您不希望驗證碼式人工驗證,可能就足夠了。對於積分最多的用戶來說,這可能是值得的。

相關問題