Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止iOS URL方案劫持_Ios_Security_Ios9_Url Scheme - Fatal编程技术网

防止iOS URL方案劫持

防止iOS URL方案劫持,ios,security,ios9,url-scheme,Ios,Security,Ios9,Url Scheme,我有一个通过URL方案从另一个应用程序打开的应用程序。URL包含注册令牌。由于任何应用程序都可以注册与我的应用程序相同的URL方案,我担心“假”应用程序会进行中间人攻击并捕获注册令牌 我的想法是检查URL方案是否在我的应用首次打开时未打开其他应用 从安全角度来看,如果URL方案第一次打开我的应用程序,它将来会打开我的应用程序吗?< /P> < P>这是一个有效的(通常被忽略的)攻击向量。这并不是严格意义上的中间人攻击,因为它不会将URL转发到你的应用程序(它不能)。更糟糕的是,攻击应用程序只能真

我有一个通过URL方案从另一个应用程序打开的应用程序。URL包含注册令牌。由于任何应用程序都可以注册与我的应用程序相同的URL方案,我担心“假”应用程序会进行中间人攻击并捕获注册令牌

我的想法是检查URL方案是否在我的应用首次打开时未打开其他应用

从安全角度来看,如果URL方案第一次打开我的应用程序,它将来会打开我的应用程序吗?< /P> < P>这是一个有效的(通常被忽略的)攻击向量。这并不是严格意义上的中间人攻击,因为它不会将URL转发到你的应用程序(它不能)。更糟糕的是,攻击应用程序只能真正崩溃,看起来你的应用程序已经


当你的应用在后台时,可以随时安装另一个应用。从技术上讲,在您的应用程序运行时,可能会发布并安装现有应用程序的更新(很难知道是否会发生这种情况)。因此,仅在应用程序首次打开时进行测试是不安全的。

使用iOS 9通用链接如何

与自定义URL方案不同,通用链接不能由其他应用程序声明,因为它们使用到您网站的标准HTTP或HTTPS链接


这样,“调度表”就位于您的服务器上,因此没有其他应用程序可以劫持注册URL。(URL调度基于AppID)

URL方案不是“先到先得”方案吗?我不是100%遵守规则,我没有明确测试它。它将第一次安装或最后一次安装。因此,一个应用程序无法转发到另一个应用程序。