簡體   English   中英

有沒有一種方法可以限制用戶每天可以發送某種類型的請求的次數?

[英]Is there a way to limit the number of times per day a user can send a certain type of request?

目前,我正在為每個要發送的Facebook請求在表中創建一行。 然后,每次用戶打開FB好友選擇器發送請求時,我都會調用一個php文件,該文件請求該表中的信息,並返回他們向其發送請求的所有用戶的FB用戶ID列表。在過去的24小時內。 我針對用戶可以發送的每種請求執行此操作。

我目前遇到的問題是,如果用戶發起請求,將其發送給許多人,然后立即再次打開FB好友選擇器,則先前請求操作的記錄尚未全部添加到我們的內部表。 因此,如果玩家走得足夠快,他們可以向同一個FB朋友發送多個請求。

在FB方面是否有辦法限制這種行為?或者這完全由開發人員來約束嗎? 無論哪種情況,都有建議的方法來實現此行為嗎? 謝謝。

更新資料

在我看來,我們的數據庫禁止每用戶每24小時輸入多個請求。 我現在要做的只是簡單地允許在FB端發出第二個請求,並且當代碼嘗試但未能將第二行輸入到數據庫中時,它會進行FB Graph調用,該調用使用應用程序的auth_token從Facebook本身刪除該請求。 這意味着它將在Facebook上接收玩家的請求頁面上顯示一會兒,但是由於它沒有與內部數據庫中的行鏈接,因此用戶無論如何都不會通過點擊獲得任何獎勵。

謝謝大家的建議。 @Gil Birman我繼續接受了您的回答,因為它完全有效,即使這不是我最終用來解決問題的方法。 謝謝!

有多種方法可以解決您提到的滯后問題,一種方法是在按下JavaScript后立即通過javascript禁用發送請求按鈕。 在您的JavaScript代碼中,與其立即通過FB.UI顯示“發送請求”對話框,不如將JSON請求發送到您的服務器。 僅當服務器響應時,才顯示fb發送請求對話框。 另外,服務器發送的響應應包括要排除的朋友列表。 發送fb請求后,您的JavaScript代碼應再向服務器發送一個json請求,以指示需要更新數據庫中的哪些行。 只有當服務器第二次響應時,才應最終重新啟用發送請求按鈕。

但是,實際上沒有辦法限制用戶可以發送的請求數。 也就是說,無論您設計javascript / php代碼的程度如何,理論上,用戶仍然可以通過Javascript控制台調用請求對話框,以完全繞過保護應用程序安全的嘗試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM