考虑下面这个假设情况:
Bob和Eve的应用程序都安装在同一部iPhone上。Bob的应用程序正在运行,并绑定到localhost:8080以侦听来自其自己的UIWebView
的AJAX调用。Eve的应用程序在后台运行,并尝试通过对localhost:8080进行AJAX调用来干扰Bob的应用程序。
两个问题:
假设Eve的应用程序知道Bob的AJAX API,她的调用会成功吗?(即iOS是否会沙盒化localhost的流量?)
Eve的应用程序是否可以嗅探Bob的应用程序生成的流量?
考虑下面这个假设情况:
Bob和Eve的应用程序都安装在同一部iPhone上。Bob的应用程序正在运行,并绑定到localhost:8080以侦听来自其自己的UIWebView
的AJAX调用。Eve的应用程序在后台运行,并尝试通过对localhost:8080进行AJAX调用来干扰Bob的应用程序。
两个问题:
假设Eve的应用程序知道Bob的AJAX API,她的调用会成功吗?(即iOS是否会沙盒化localhost的流量?)
Eve的应用程序是否可以嗅探Bob的应用程序生成的流量?
有两种可能的方法可以实现这一点。要么Bob的应用在前台,Eve的应用在后台连接它,前提是Eve的应用在后台运行。或者,Bob的应用在后台运行,Eve的应用在前台连接它。
默认情况下,iOS会挂起后台应用。如果应用程序利用后台执行,并继续在后台运行,它可以像往常一样访问网络。
您可能需要阅读苹果公司关于网络和多任务处理的技术笔记中的“基础知识之外”章节。