WebView安全浏览

来源:互联网 发布:人和卫星电视直播软件 编辑:程序博客网 时间:2024/06/05 04:41

前言

Hybrid App(混合式开发)已成商业应用所用开发手段。可动态更新内容页面使用H5开发,然后借用移动端原生系统WebView控件加载。

优劣

混合式开发不仅节约安卓、IOS客户端开发成本,还可在避免应用版本迭代情况下动态更新页面内容。然WebView存在弊端,即始终无法避免安全问题。例如所连接WI-FI可能被一些网络运营商恶意拦截DNS系统,当打开应用WebView时,在页面底部或其它地方出现莫名其妙广告。更有甚者直接重定向到其它网页,对应用或设备随意操作,存在很大安全隐患。

方案

Google一直致力于处理此问题。根据Android Developers官方博客介绍,从Android O开始,WebView将采用独立于托管应用之外进程进行渲染,提供隔离空间。

该做法与Chrome浏览器类似,使WebView拥有两级隔离:

  • WebView渲染引擎剥离出独立进程,便不存在由WebView加载错误导致主应用发生崩溃且第三方恶意网站很难通过渲染器攻击托管应用。

  • 在隔离进程沙盒中运行之渲染器进程被限制使用设备资源,比如渲染器不能自行向磁盘写入数据或进行网络通信等。该隔离能进一步防御恶意攻击。

安全浏览模式下最新版WebView集成Google安全浏览机制来保护、提醒用户可能存在风险网站。启用安全浏览配置后,WebView将参考安全浏览的恶意软件和钓鱼网站数据库检查访问的URLS地址,用户打开前给予危险提示,如:

做法

应用Manifest清单文件按如下代码配置便可让当前App所用全部WebView支持安全浏览:

<manifest>    <meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"    android:value="true" />    ...    <application> ... </application></manifest>
原创粉丝点击