2011-08-19 26 views
1

我正在ASP.net中開發一個Web應用程序,該應用程序允許用戶使用Facebook連接登錄並使用服務(如發佈圖片或爲圖片投票)。在ASP.net Web應用程序中使用Facebook JavaScript API的安全問題

爲了保持通過Facebook連接連接的用戶記錄,用戶通過在數據庫中插入唯一用戶標識(類似於Facebook提供的632343)來自動註冊。其他活動(如發佈圖片或投票照片)會根據用戶的唯一用戶名記錄下來。

當用戶登錄時,他/她的私人網頁是由從數據庫中獲取項加載其中userid = [當前的Facebook用戶ID連接的用戶]

我使用的Facebook的JavaScript SDK對於這種情況,直到我發現我正在做的安全失敗。我實際上獲取當前Facebook連接用戶的userId,然後向部分頁面loadprofile.aspx?user =''發送請求以加載私人個人資料頁面。任何知道任何用戶的Facebook ID的人都可以使用'Firebug for FireFox'等工具來攻擊該頁面,或者只需向loadprofile.aspx?user = [用戶ID]發送獲取請求,即可獲取該用戶的私人內容。

我能找到的唯一解決方案是使用圖形API並在服務器端對用戶進行身份驗證以獲取userId,以便爲當前Facebook連接用戶在內部生成專用頁面。

我想問問大家,如果使用Facebook JavaScript API還有一個安全的方法,因爲我覺得它很容易使用。請幫忙。

回答

0

請確保您獲得javascript sdk已啓用OAuth, 然後對於後續請求,請求應包含代碼參數。 檢查它與驗證的代碼

但坦率地說,作爲一個更好的安全措施,服務器端處理是首選