白帽黑客

找黑客,免费黑客网,撞库攻击,黑客入门,爬虫技术

WebView:Google,我已经长大了,知道自己区分安全!!

一、引言

假如你在用 Android 原生系统(Google Play 服务项目),在应用 WebView 载入一些网页页面时,一定遇到过下列的安全警告红屏。

这也是 WebView 的安全性访问维护策略,在 Android 8.0(API Level 26)逐渐的默认设置策略,被使用在全部 App 的 WebView 之中。

Google 会自身维护保养一套“不安全”网址的目录,并根据 Google Play 服务项目,同歩到全部的设施上。如果你要浏览一些被标识为“不安全”的网址时,它便会为此“红屏”警示客户。

留意这也是默认设置策略,尽管立足点是为了更好地维护客户,可是有时我们自己的 App 或是要有独立管理的支配权。

那大家有方法在自身的 App 内,关掉该项维护吗?终究我的应用作主,安不安全自己来监管。

今日就来聊一聊,怎样在 Android 8.0(API Level 26)中,关掉此安全性维护策略。

二、什么叫WebView的安全性策略

自 2018 年 4 月起,伴随着 WebView 66 公布,Google Play 维护体制,将在 WebView 中默认设置逐渐此安全性访问策略。

而 Android 开发人员在应用 WebView 时,不用再开展一切变更,就可以享有该项维护服务项目。自 Android 8.0 逐渐,WebView 中即早已集成化安全性访问作用,而且与 Android 版的 Chrome 选用同样的底部技术性。

一旦开启 WebView 的安全性体制,便会发生相近下面的图那样的“红屏”警示。

Google 会自维护保养一套不良信息的目录,以保证客户可以在访问以前,传出警示。为了更好地同歩这一部分目录,Google 耗费了较大的勤奋,便是为了更好地维护客户的安全性。

三、怎样操纵安全性策略

在 Android 8.0 及以上的设施中,WebView 的安全性访问策略,是默认设置起效的。

换句话说,如果我们需要应用它,大家哪些附加的运行都不用做,可是大家假如不愿选用它,就要经过一个方式将其关掉。

3.1 怎样监管打开

WebView 的安全性访问,是取决于 Google Play 和 Chrome 升级的,换句话说,尽管你的设施是 Android 8.0,可是此策略也是有可能沒有起效的。

那麼如何确定此作用是不是起效呢?

WebView 给予了一个方式 startSafeBrowsing() 方法,来积极打开安全性访问策略,在调整中,我们可以了解现阶段机器设备是不是做好准备,合乎打开安全性访问的标准。

WebView.startSafeBrowsing(this, object : ValueCallback { override fun onReceiveValue(value: Boolean?) { val isOpen = value ?:false if (isOpen) { Log.i("cxmy_dev", "Safe browsing. On") } else { Log.i("cxmy_dev", "Safe browsing. Off") } }})

留意调整内的 value 很有可能为 null。

3.2 如何关闭安全性策略

WebView 的安全策略是默认设置逐渐的,假如要想关掉它,必须根据 WebSettings 这一类,在其中有 setSafeBrowsingEnabled(boolean) 方式,可以用以设定是不是打开安全模式。

webSettings.safeBrowsingEnabled = false

此办法是一种全局性的策略,也就是要不打开、要不关掉。

3.3 配备授权管理

应用 setSafeBrowsingEnable() 方式,只有做二态的设定,要不打开要不关掉。如果我们想设定,只容许一些 Host 不通过安全性策略校检,如何设置呢?

WebView 还带来了一个 setSafeBrowsingWhiteList() 的方式,用以设定一个安全性策略的授权管理。

var array = ArrayList()array.add("example.com")WebView.setSafeBrowsingWhitelist(array, object : ValueCallback { override fun onReceiveValue(value: Boolean?) { }})

setSafeBrowsingWhiteList() 方式很灵便,可以根据配备特定网站域名以及二级域名,或是只此网站域名不包含他的儿子网站域名。还能够立即配备 IP 详细地址,适用 IPV4 和 IPV6。

四、总结时时刻刻

今日大家谈到如何关闭 WebView 的安全性访问策略,文中涉及到的 API,所有仅适用 API Level 27,应用的过程中留意分辨。

自然,WebView 的安全性访问是需要的,因此当你的网站域名被 Google 误以为是风险连接,可以根据申诉的方法解除限制。申诉详细地址(https://support.google.com/chrome/answer/99020)。

references:https://security.googleblog.com/2015/12/protecting-hundreds-of-millions-more.html

https://developer.android.com/reference/android/webkit/WebView.html

https://www.google.com/chrome/privacy/whitepaper.html

【文中为51CTO栏目创作者“张旸”的原創文稿,转截请根据公众号联络创作者获得受权】

戳这儿,看该创作者大量好文章

  • 评论列表:
  •  俗野闹旅
     发布于 2022-06-08 18:05:28  回复该评论
  • singEnable() 方式,只有做二态的设定,要不打开要不关掉。如果我们想设定,只容许一些 Host 不通过安全性策略校检,如何设置呢?WebView 还带来了一个

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.