我正在尝试验证来自 iOS 应用程序的 HTTP 请求真的是从移动应用程序发送的。目前服务器代码仅检查“User-Agent”HTTP header ,当然这不是非常可靠的解决方案。
我认为当前的 iOS SDK 可用于验证客户端是否为实际 iPhone 用户。
推送通知
- iOS 应用从操作系统请求推送 token 并将其发送到服务器
- 服务器向带有隐藏标识符的应用程序发送推送通知
- iOS 应用程序将收到的标识符发送到服务器
- 服务器用 cookie 响应
在这里,在通信的第一阶段,我们可以验证用户是移动用户,因为她还如何从推送通知到特定应用程序中获得标识符。
dis. 即使我们可以重复推送通知也不太可靠。滥用推送通知。
应用内购买
可以在这里重复使用收据验证。
dis. 明显的误用。令人困惑。
所以问题是——是否有任何正确的方法来确认请求是从 iOS 应用程序、从 iOS 设备发送的?
最佳答案
iOS11 引入了新的 API https://developer.apple.com/documentation/devicecheck#overview 看起来它解决了问题。
关于iphone - 验证网络请求是否由 iOS 应用程序发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18149886/