Cordova文档here非常清楚地解释了导航和意图白名单的用途。对我来说不太清楚的是它们为什么是必要的。由应用程序创建的混合应用程序所拥有的webview中显示的可点击链接很好地由该应用程序“拥有”,因此它首先了解所有关于它们的信息?那么它就不会提供不应被其用户点击的链接。
显然,我的推理存在某个缺陷,否则这些白名单规范选项就不存在了。对于那些可能解释这些白名单背后的“意图”的人,我将非常感激不尽。
答案 0 :(得分:1)
正如@jcesarmobile在评论中所说,当然,根据您的应用程序,黑客可以诱骗您的应用或用户在应用中插入一些内容,这些内容可以链接到网络上可能包含恶意代码的来源。由于他们知道您在Cordova环境中运行,因此他们不仅可以访问标准的Web javascript控件,还可以访问您可能正在运行的任何插件,并且可以执行您可以执行的任何操作(拨打电话,请求用户联系人等) 。如果您的应用程序显示从外部采购的任何类型的输入,您无法直接控制,并且在输出之前错过任何清理,则您很容易受到XSS注入,白名单可以减少可以通过说XSS注入(即他们无法从另一台机器加载脚本)。