我想添加锦标赛模式到我的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