2013-05-30 50 views
0

到PHP時,我正在尋找一種方式用ajax發佈用戶特定數據時,驗證用戶的Facebook ID驗證用戶的Facebook ID。如何使得AJAX職位的Facebook應用程序

我希望能夠驗證使用AJAX發佈數據時,Facebook的用戶ID是正確的。

的問題是,如果我發佈的Facebook ID作爲我的AJAX數據的一部分,它可以在JavaScript編輯。我可以在服務器端進行圖形調用,但這些調用非常緩慢,所以我想將圖形調用保持在最低限度。最好只在開始時調用它。

任何能否提供一個高效/安全的方法?

+0

Downvoted,因爲這是你的最後一個的DUP。我已經投票決定關閉那個,而不是這個,因爲這有更多的細節。 – halfer

回答

1

最後,我的解決方案是通過php sdk獲取用戶的Facebook ID,並通過添加鹽並使用md5編碼來創建它的哈希值。發佈表單時,我包含了facebook的id和散列。然後,我可以使用相同的鹽值在使用之前仔細檢查facebook的想法是否正確。這似乎爲我的需求提供了足夠的安全性。

+0

這也適用於我。最簡單的方法。 :) – Hippie

0

我知道你想避免做圖的調用,但你可以撥打電話客戶端以及和調用Facebook的API:

FB.api('/me', function(response) { 
    // Check that response.id matches the submitting user id 
}); 

這將允許你檢查對登錄用戶的Facebook ID 。您無法真正修改JavaScript中的任何內容,以「假」作爲Facebook用戶中的其他日誌記錄。

否則,我不知道你是怎麼回事驗證ID,除非你有一個整體的登錄系統自己,通過這裏你可以會話數據匹配保存的用戶數據在服務器端的數據庫上。

+0

Surly這不是更安全,因爲我可以注入迴應? – Finglish

+0

的確如此。您可以在javascript中更改Facebook ID,但我不確定那會完成什麼?我想這取決於你正在做的行動。如果您嘗試設置不同的ID,Facebook授予的訪問令牌應阻止該代碼充當不同的人。也許關於你在與Facebook互動時做什麼的更多細節以及你想要阻止的情景? – JayNCoke

相關問題