所有Capacitor应用使用localhost作为origin是否安全?数据会共享吗?
问题解答
完全不用担心数据跨应用泄露,不同Capacitor应用的Web存储数据默认不会共享,哪怕所有应用的WebView都使用localhost作为origin。
核心原因有两个:
- 移动端自带应用沙箱隔离:不管是Android还是iOS,每个安装的应用都有自己独有的私有存储目录,其他应用没有权限访问。WebView的localStorage、IndexedDB这些数据,默认就是存在所属应用的私有目录里的,根本碰不到其他App的存储内容。
- 不同应用的WebView完全独立:就算origin名义上都是localhost,系统也不会把不同App的WebView存储数据关联到一起,不存在跨应用读同origin存储的逻辑。
唯一的例外是你主动通过原生能力做了跨应用共享配置,比如iOS开了App Group、Android低版本用了sharedUserId之后自己写原生逻辑读写共享数据,这种自定义场景不算默认情况。
内容的提问来源于stack exchange,提问作者HELLEL O.
相关产品推荐
相关产品推荐

