内容-安全-策略中断控制台.log输出

Content-Security-Policy breaking console.log output

本文关键字:log 输出 控制台 策略 安全 内容 中断      更新时间:2023-09-26

在Cordova的第5版上开发一个应用程序(使用Phonegap框架)。最新的更新要求您根据其文档使用内容-安全-策略元标记:https://github.com/apache/cordova-plugin-whitelist

这是我的应用程序标签:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.example.com">

当我包含它时,除了控制台之外,一切都可以正常工作.log在运行"phonegap serve"(一种用于使用设备上预安装的应用程序"测试"您的应用程序的工具)时,消息不会被推送到终端。

但是,如果我从我的代码中删除标签,然后控制台.log消息会正确推送到终端,但我无法再向我的 example.com 域发出数据请求。

我已经使用 http://content-security-policy.com/作为指导尝试了许多差异,但我无法让它正常工作。

注意:这是科尔多瓦 v5 中的一个新设施,因为以前这一切都可以正常工作。

这是我在Content-Security-Policy中的设置示例。我在生产中没有*,但随后我*替换为所有接受的位置。

我还需要为 IOS 平台添加gap://ready。不太确定为什么需要这样做,但是当我在IOS上调试时,我看到它在gap://ready上抛出了一个错误。

<meta http-equiv="Content-Security-Policy" content="default-src 'self' * gap://ready; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">

在上面的行中,我的console.log()消息确实出现了。