gpt4 book ai didi

iphone - 我的 Rail3 应用程序如何验证来自 iPhone 应用程序的请求?

转载 作者:行者123 更新时间:2023-11-29 05:05:02 25 4
gpt4 key购买 nike

我想在我的 iPhone 游戏中添加锦标赛模式,并让 Rails 3 应用程序跟踪锦标赛统计数据。基本上,每次比赛结束时,获胜者都会使用如下的发布请求报告给我的 Rails 3 应用程序:

POST http://myrail3app.com/tourney/matchresults?winner=username

显然,任何人都可以监视所发出请求的 URL,然后在其计算机上一遍又一遍地发出相同的请求并进行欺骗。因此,我想要某种方法来验证 Rails 3 应用程序上的请求,以确保请求仅来 self 的 iPhone 应用程序。你的想法?

非常感谢您的智慧!

最佳答案

使用 Jason 提到的 UDID 并不一定能阻止某人在桌面浏览器中多次转发该内容。

您有几个选择,具体取决于您想要的复杂程度:

a) 您的应用和 Rails 服务器之间的公钥加密

b) 您可以使用签名生成服务,类似于 Facebook 和 Amazon 在其请求中处理签名的方式。

  • 您向应用程序提供 key (很可能在你的 Objective C 代码中某处),并生成一个 HMAC签名基于您的所有您发送给应用程序的参数用你的 key (参见 http://www.ouah.org/ogay/hmac/ ).你然后使用发送过来的参数生成另一个签名 rails 侧,并比较签名发送(例如在 rails 中:OpenSSL::HMAC.hexdigest('sha256',
    消息, key )
    )。如果2个签名是不同的,你知道有人有篡改参数。

  • 查看 Facebook(http://developers.facebook.com/docs/authentication/signed_request/)和亚马逊(http://docs.amazonwebservices.com/AWSSimpleQueueService/2007-05-01/SQSDeveloperGuide/SummaryOfAuthentication.html)有关如何执行此操作的示例。

c) 根据您是否希望在应用程序和 Rails 服务器之间共享其他数据,您可以在 Rails 端实现 Oauth 提供程序。

关于iphone - 我的 Rail3 应用程序如何验证来自 iPhone 应用程序的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5724248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com