我想添加錦標賽模式到我的iPhone遊戲,並有一個Rails 3應用程序跟蹤比賽統計。基本上,每一個比賽結束時,獲勝者將被報告給我的Rails使用POST請求像3應用程序...我的Rail3應用程序如何驗證來自iPhone應用程序的請求?
POST http://myrail3app.com/tourney/matchresults?winner=username
顯然,任何人都可以監測所取得的請求的URL,然後進行同樣的請求在他們的電腦上一次又一次地欺騙。所以我想用一些方法在Rails 3應用上驗證請求,以確保請求僅來自我的iPhone應用。你的想法?
非常感謝您的智慧!
謝謝,多米尼克,非常有幫助!關於HMAC方法的問題,是否需要每次發出請求時發送的參數都不相同以保證其安全?換句話說,如果我用來創建簽名的唯一數據是密鑰和用戶名,那麼來自單個用戶的所有請求每次都是相同的,那麼這些請求可能是僞造的,是正確的? – BeachRunnerFred 2011-04-20 01:33:14
使用用戶名發送時間戳。例如:一個時代價值http://mysite.com?username=foo×tamp=1303268516&signature=abc123 – Dominic 2011-04-20 03:01:29
順便說一句,你發送的簽名是由密鑰簽名的。試圖篡改參數的人如果想要更改參數(通過更改參數並根據新的參數和密鑰重新生成新簽名),必須知道密鑰。只要確保他們沒有訪問密鑰是啊? – Dominic 2011-04-20 03:19:02