我在與Facebook緊密集成的Flash(AS3)中構建社交媒體應用程序 - 所有用戶帳戶都通過Facebook連接處理,並處理所有Facebook連接通過Javascript和AS3 Facebook API的組合。我在後端使用Codeigniter進行服務器端數據管理,其中包括通過Flash的URLRequests跟蹤用戶操作和網站上的數據。執行Facebook身份驗證:客戶端和服務器端
我的問題是,我不知道如何防止從Flash製作的服務器請求的欺騙;理論上,惡意用戶可以跟蹤Flash對我的服務器進行的調用,並以(例如)插入垃圾數據並將其與我的數據庫中給定的Facebook用戶ID相關聯的方式進行再現。所有身份驗證都是在客戶端(通過Facebook JS API)進行的,沒有服務器的干預,所以我很難搞清楚如何確保Flash和服務器之間的通話,確保用戶必須通過Facebook進行身份驗證才能製作出來。
我考慮的一種可能性是使用客戶端和服務器已知的加密方案來回傳遞Facebook UID,這肯定會比傳遞給他們明顯的更好。然而,只有一個有足夠時間/耐心的有進取精神的黑客才能打破這個計劃(或反編譯瑞士法郎),將所有事情搞砸。
無論如何,我可能會反思這一點,但它似乎是一個重要的觀點,我真的不確定最好的方法。任何反饋將不勝感激!
Rook,你是指訪問令牌作爲客戶端可用的會話信息,並且服務器可以使用它來連接到FB? – Totach 2011-02-10 15:24:34
爲了讓您知道,您的wiki.developers.facebook鏈接已損壞。參考:meta.stackoverflow.com/q/101241/149820 – staticbeast 2011-08-08 22:22:33
這是不正確的。雖然它是實現這一點的一種方式,但使用客戶端設置的cookie(javascript)庫更有效。 – MetaChrome 2012-08-09 19:40:00