WebView发起的HTTPS请求安全性探讨及WebView2的作用

一、引言

随着移动互联网的快速发展,WebView 控件在众多移动应用和桌面应用中扮演着重要角色。
通过 WebView,开发者可以轻松地嵌入网页内容,为用户提供更丰富的体验。
在使用 WebView 发起 HTTPS 请求时,安全性问题成为关注的焦点。
本文将探讨 WebView 发起的 HTTPS 请求的安全性,并介绍 WebView2 的作用。

二、WebView 与 HTTPS 请求

WebView 是一个用于展示网页内容的控件,它可以加载和显示 HTML、CSS 和 JavaScript。
通过 WebView,开发者可以在应用内嵌入网页,实现更丰富的内容展示和交互。
HTTPS 是一种通过 SSL/TLS 协议进行加密传输的网络安全协议,它可以确保数据传输过程中的安全性。
在 WebView 中发起 HTTPS 请求,可以有效防止数据被截取而受到攻击。

三、WebView 发起的 HTTPS 请求安全性探讨

尽管 HTTPS 协议可以提供一定程度的安全性,但在 WebView 中发起 HTTPS 请求时,仍需注意以下几点安全问题:

1. 证书验证:WebView 在加载 HTTPS 内容时,需要对服务器证书进行验证。如果证书验证失败或被篡改,可能导致安全风险。因此,确保使用可信赖的证书颁发机构(CA)和及时更新证书至关重要。
2. 中间人攻击(Man-in-the-Middle Attack):尽管 HTTPS 可以加密传输数据,但在某些情况下,攻击者可能通过篡改网络配置或利用系统漏洞,实现中间人攻击。因此,使用 WebView 发起 HTTPS 请求时,需关注网络安全性并确保在安全的网络环境下进行。
3. 应用安全配置:开发者在使用 WebView 发起 HTTPS 请求时,需要合理配置应用的安全设置,如禁用 JavaScript 的一些不安全功能、限制加载本地资源等,以降低安全风险。

四、WebView2 的作用

WebView2 是 Microsoft Edge 浏览器基于 Chromium 的新一代嵌入式浏览器控件。
相较于传统的 WebView,WebView2 提供了更强大的性能和安全性。
其主要作用包括:

1. 更强大的性能:WebView2 基于 Chromium,具有更高的渲染性能和更好的兼容性。这使得开发者可以更容易地构建高性能的桌面应用。
2. 更丰富的功能:WebView2 支持最新的 Web 技术,如 WebAssembly、WebGL 等,为开发者提供了更丰富的功能选择。
3. 更好的安全性:WebView2 继承了 Edge 浏览器的安全特性,包括先进的防御机制、实时更新和安全策略等,有助于提高 WebView 中的 HTTPS 请求的安全性。
4. 与现代浏览器同步:由于基于 Chromium,WebView2 可以与现代的浏览器保持同步,确保开发者能够利用最新的浏览器技术和安全更新。

五、结论

在使用 WebView 发起 HTTPS 请求时,确保安全性至关重要。
开发者需要关注证书验证、网络环境和应用安全配置等方面的问题。
同时,为了提升性能和安全性,可以考虑使用基于 Chromium 的 WebView2。
通过了解和使用 WebView2,开发者可以更容易地构建高性能、高安全性的桌面应用。


移动app性能和安全性测试需要注意哪些?

测试App连接网络的速度

一般采用在模拟Mock环境下进行测试,测试方法更多使用的是在App的log中添加时间戳的方式计算时间,例如使用Apple公司提供的iPhone Configuration Utility中Devices的Console查看App的log。

测试App在不同网络速度下操作的流程程度

测试可以使用在App的log中添加时间戳方法验证,也可以通过使用App的直观感受来验证App性能带给用户的体验。

测试App对于前台页面渲染的性能

测试可以使用在App的log中添加时间戳方法验证,也可以通过使用App的直观感受来验证App性能带给用户的体验。 特殊的是,当App中使用WebView,测试人员可以快速地刷新当前页面或者在使用WebView的页面间进行切换,来验证App是否有性能问题甚至发生崩溃。

测试App操作数据库的性能

iOS操作系统在设备本地存储App数据时使用的是CoreData或者SQLite数据库;Android操作系统在设备本地存储App数据时使用SQLite数据库。 如果操作的数据量很大,便有可能出现App的性能问题,此时App测试就很重要,对数据库操作的功能进行大数据量的测试。 测试人员也可以和开发人员一起,遵照Web端数据库优化的一些原则,如数据库启用事务,使用索引,数据的批量操作等优化方法,提高数据库的性能。

测试App的会话session是否有过期设置

对于App的会话session是否有过期设置的测试,可以在App运行中切换到别的App或者桌面一段时间,然后再次进入App,看App是否需要输入密码等验证信息。 值得注意的是不同App的合理session过期时间不一样,测试人员需要和产品经理、开发人员等确认之后制定出合理的测试用例。

测试App请求中是否包含了明文的用户信息

包含了明文的信息,如同App中标示用户应该使用UUID或GUID等转码后的信息,而不是直接的用户电话号码或账户信息,当然更不应该明文传送这些信息。 测试人员可以使用Apple的iPhone Configuration Utility,Android SDK自带的DDMS,Charles和Fiddler这些工具来监控App发送的请求。

测试App的请求是否加密

一般App请求可以使用HTTP,但是关系到用户敏感信息的请求,需要使用HTTPS等加密传输。

测试SQLite数据库的存储是否安全

测试人员可以通过ADB连接到root的Android蛇别,并使用SQLite来查看具体的数据库保存的信息。 显然,把用户实际的登录信息明文存储在数据库文件中是不安全的,最好不要存储,如果必须存储,最好对这些信息加密后再存储。

测试App使用WebView的安全性

由于WebView的请求和在Web端请求数据是一样的,所以任何适用于Web端的攻击方式和漏洞对于WebView来说都是通用的。

如何使用WebView访问https的url

https为加密的方式,webview有熟悉专门支持,至于技术就不知道了

webview cookie is android webview 是什么意思

web view cookie is android web view意思:网页查看的是安卓网页的视图词汇解释view 英 [vju:] 美 [vju]n.看法;风景;视域;[建筑学]视图vt.看;看待例句1、Washington and Moscow are believed to have similar views on Kashmir 据信华盛顿和莫斯科在克什米尔问题上的看法相似。 2、He stood up to get a better view of the blackboard 为了更清楚地看到黑板上的内容,他站了起来。