2011-11-21 50 views
2

要邀請朋友到我的應用程序,因爲據我所知,唯一的辦法就是用JS SDK,與FB.ui和apprequests對話框。沒關係。JS SDK apprequest安全

讓我們想想情景 - 我的FB遊戲允許用戶邀請他們的朋友和一些項目給予他們(朋友)。基於級別,名稱,隨機,不管。 調用對話框時可以使用數據參數。它看起來像我可以存儲關於要給予什麼樣的項目的信息的地方。 但是什麼阻止用戶篡改這些數據?當然,我可以嘗試一些密碼等等,但是,它的變量對用戶完全可見。 我錯過了什麼嗎?如何以安全的方式解決場景?

回答

1

你可以設置一個代碼作爲參數發送,其中保存針對特定用戶的服務器/數據庫。然後,當請求被兌換時,檢查用戶是否分配了該代碼。如果他們不這樣做,你知道它已經被篡改。

+0

再次,REQUEST_ID不是必須由JavaScript或任何通過。另一個地方被篡改。也許簽名(使用HMAC-SHA256)像FB確實可以解決這個.. – M4ks

+0

是...但如果你把它存儲在服務器上,你可以比較它未被篡改。 – Abby

0

@Abby是正確的 - 在數據庫中存儲的請求數據 - 在JS SDK的apprequest功能有包含相關信息的回調邀請 - 當用戶接受邀請存儲這個和交叉引用的數據。用戶可能能夠篡改Javascript級別的數據 - 但是(我希望)他不能篡改數據庫中的數據。 :)