内容安全政策cordova问题

时间:2016-11-18 14:38:21

标签: cordova ionic-framework firebase-authentication content-security-policy

我在我的Windows PC上使用ionic创建了一个应用程序,现在切换到mac时我从控制台收到此错误

  

"拒绝加载   https://lorem.firebaseio.com/.lp?start=t&ser=59502592&cb=11&v=5   因为它没有出现在Content的script-src指令中   安全"。

我已经尝试在我的标题中修改我的CSP标签,我似乎无法让它工作。我也尝试重新添加所有插件/平台/资源。

现在使用的标签是

 <meta http-equiv="Content-Security-Policy" content="default-src * data: cdvfile: gap:; style-src 'self'  https://cdn.firebase.com https://*.firebaseio.com https://lorem.firebaseio.com/*; script-src 'self' 'unsafe-eval'">

我也想知道为什么我不能像过去那样将它添加到我的白名单插件

  <allow-navigation href="*"/>
  <allow-navigation href="http://192.168.178.13:8100"/>
  <allow-intent href="*.firebaseio.com"/>
  <allow-intent href="auth.firebase.com"/>

----------------------------- edit ----------------- ------------

为了解决我所有的问题,我使用了这3个标签

content="default-src * data: cdvfile: gap:; 
      style-src 'self'  'unsafe-inline';
      img-src 'self' 'unsafe-inline';
      script-src 'self' https://lorem.firebaseio.com/* 
                        https://cdn.firebase.com
                        https://*.firebaseio.com
                        'unsafe-eval'">

1 个答案:

答案 0 :(得分:7)

您已在style-src部分添加了您的网址,如果您尝试加载远程脚本来源,则必须在 script-src 部分添加源网址。

<meta http-equiv="Content-Security-Policy" 
      content="default-src * data: cdvfile: gap:; 
      style-src 'self'  https://cdn.firebase.com
                        https://*.firebaseio.com
                        https://lorem.firebaseio.com/*;
      script-src 'self' https://lorem.firebaseio.com/* 'unsafe-eval'">