iphone - 验证网络请求是否由 iOS 应用程序发送

标签 iphone ios networking sign

我正在尝试验证来自 iOS 应用程序的 HTTP 请求真的是从移动应用程序发送的。目前服务器代码仅检查“User-Agent”HTTP header ,当然这不是非常可靠的解决方案。

我认为当前的 iOS SDK 可用于验证客户端是否为实际 iPhone 用户。

推送通知

  1. iOS 应用从操作系统请求推送 token 并将其发送到服务器
  2. 服务器向带有隐藏标识符的应用程序发送推送通知
  3. iOS 应用程序将收到的标识符发送到服务器
  4. 服务器用 cookie 响应

在这里,在通信的第一阶段,我们可以验证用户是移动用户,因为她还如何从推送通知到特定应用程序中获得标识符。

dis. 即使我们可以重复推送通知也不太可靠。滥用推送通知。

应用内购买

可以在这里重复使用收据验证。

dis. 明显的误用。令人困惑。


所以问题是——是否有任何正确的方法来确认请求是从 iOS 应用程序、从 iOS 设备发送的?

最佳答案

iOS11 引入了新的 API https://developer.apple.com/documentation/devicecheck#overview 看起来它解决了问题。

关于iphone - 验证网络请求是否由 iOS 应用程序发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18149886/

相关文章:

iphone - 使用 webrequest 和 uialertview 在 MonoTouch 中线程化

ios - 如何确保 iOS 应用程序去除调试符号?

java - 无法从 Python 服务器向 Java 客户端发送任何内容

ios - 显示最近帖子的最佳方式 - Objective C

iphone - UISearchDisplayController - 如何仅选择范围按钮但搜索字符串为空来显示搜索结果

ios - UIViewController 中的多个初始化步骤问题(不能使用多重继承)

ios - 无法在 PreapreForSegue 中设置 NavigationController 的 Outlet 值 TopViewController

docker - 如何在网络内从另一个 docker 容器引用 docker 容器?

php - 如何确保您的 PHP 脚本仅由您授权的应用程序调用?

ios - 与所有可能的实体有一个共享按钮 IoS