使用 Testin 检测项目,有一个高危风险是关于 WebView 的。

需要在 WebViewClient 的 onReceivedSslError 方法中加上 handler?.cancel() 即可。
webViewClient = (object : WebViewClient() {
override fun onPageFinished(view: WebView?, url: String?) {
super.onPageFinished(view, url)
callBack?.onPageFinished(view, url)
}
// 证书的问题出错时会走onReceivedSslError()方法,使用 handler.cancel() 停止加载问题页面,防止中间人攻击风险。
override fun onReceivedSslError(view: WebView?, handler: SslErrorHandler?, error: SslError?) {
super.onReceivedSslError(view, handler, error)
handler?.cancel()
}
})
网友评论