首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免iOS9中url方案重定向的确认对话框

避免iOS9中url方案重定向的确认对话框
EN

Stack Overflow用户
提问于 2015-10-20 17:01:09
回答 1查看 1.9K关注 0票数 3

为了从Safari打开一个本地应用程序,我们使用了一个重定向的url方案,比如myapp://do/something

我知道至少有两种方法可以做到这一点:

  1. 插入具有src属性等于所需url的iframe (只用于iOS8 ,停止在iOS9上工作)
  2. 用所需的url替换window.location.href属性(为iOS8和iOS9工作)

这两种方法都适用于iOS8,并将用户重定向到安装的应用程序,而不需要任何确认对话框。但是,启动从iOS9 Safari开始显示一个确认对话框,以确保用户真的想打开一个应用程序:

上面截图中的页面代码非常简单:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head></head>
<body>
    <script>
        window.location.href = 'fb://';
    </script>
</body>
</html>

我在苹果的网站上没有找到任何官方描述。在我看来,我们对这种行为无能为力。

问题:有人已经面临这个问题了吗?有什么办法可以在Safari中避免这个确认框吗?

EN

回答 1

Stack Overflow用户

发布于 2016-01-08 21:15:37

添加确认对话框是为了解决许多注册iOS URL方案的应用程序中已知的漏洞。它防止恶意网页调用URL方案,从而导致应用程序在不知情的情况下代表用户进行事务处理。我不知道有什么办法让它失效。

有关该漏洞的更多详细信息,请参见本BSides拉斯维加斯演示文稿:http://www.irongeek.com/i.php?page=videos/bsideslasvegas2014/pg10-ios-url-schemes-omg-guillaume-k-ross

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33242557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档