遵循WebView最佳实践
细节
WebView可能会引入大量的安全问题,实践应谨慎。目前,已经发现使用addJavscriptInterface API引起的许多可利用的漏洞。
修复
如果不需要JavaScript和插件支持,则尽早停用它们。虽然默认情况下都被禁用,但最佳做法要求将其明确设置为禁用。
禁用本地文件访问。这限制了对应用程序的资源和资产目录的访问,并缓解了攻击者从网页中寻求访问其他本地文件的攻击。
禁止从第三方域加载内容。这在应用程序中可能很难实现。但是,开发人员可以重写shouldOverrideUrlLoading和shouldInterceptRequest来进行拦截,并检查从WebView中发起的大部分请求。开发人员还可以考虑通过使用URI类实现白名单功能来检查URI的组件,以确保应用与受信任资源互相访问。
样例代码: https://gist.github.com/scottyab/6f51bbd82a0ffb08ac7a