【发布时间】:2013-08-11 13:47:06
【问题描述】:
我正在尝试验证来自 iOS 应用程序的 HTTP 请求真的是从移动应用程序发送的。目前服务器代码只是检查'User-Agent' HTTP 标头,当然这不是很可靠的解决方案。
这是我看到当前 iOS SDK 可用于验证客户端是否是实际 iPhone 用户的方式。
推送通知
- iOS 应用向操作系统请求推送令牌并将其发送到服务器
- 服务器向具有隐藏标识符的应用程序发送推送通知
- iOS 应用将收到的标识符发送到服务器
- 服务器使用 cookie 响应
在沟通的第一阶段,我们可以验证用户是移动用户,因为她如何从推送通知中获取标识符到特定应用程序。
dis. 即使我们可以重复推送通知,也不太可靠。滥用推送通知。
应用内购买
这里可以重复使用收据验证。
dis. 明显的误用。令人困惑。
所以问题是 - 是否有任何适当的方法来确认请求是从 iOS 应用程序或 iOS 设备发送的?
【问题讨论】:
-
我知道我可以在客户端签署请求,但这只是时间问题,有人会提取私钥并重复签名过程。
标签: iphone ios networking sign