1

现状内容安全策略meta标签:的phonegap serve阻止内容安全策略meta标签允许web套接字

添加内容安全策略自动重载防止phonegap serve实用的自动重载。这是在cordova serve之上构建的,但是可以在文件编辑时自动重新加载应用程序。它的工作原理是在index.html中注入socket.io。我应该在我的CSP元标记中指定什么,以允许套接字连接到我的笔记本电脑。

这是我目前的CSP meta标签:在设备上接收

<meta http-equiv="Content-Security-Policy" content="default-src 'self' 192.168.0.100 * ws:* ; connect-src ws://192.168.0.100 ws:*"> 

但是在打开,设备不断出现“连接到设备”,而不是事件。

另请注意,它开始致力于删除此元标记,这意味着cordova-plugin-whitelist可能不会阻止它。

回答

0

我有一个类似的问题。这会影响Cordova 5.x.x.看到这个博客文章由Nic Raboy https://blog.nraboy.com/2015/05/whitelist-external-resources-for-use-in-ionic-framework/

我不得不微调中继标签有点让我的websocket连接以及。这是看起来像什么;

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

工作。我想我错过了'script-src *'unsafe-inline''unsafe-eval'' – cnvzmxcvmcx

+2

这个答案在误导和危险的一面。 *支持来自所有源的连接,这些连接违背了安全策略。有关更多详情,请参阅其他答案。 –

3

要将web套接字添加到安全策略,请将web套接字协议(ws :)添加到connect-src指令中。

connect-src 'self' ws:; 

或者,您可以添加WS:协议默认-src和省略连接-SRC。这是一个有用的例子,它可以满足大多数本地开发需求,同时仍然提供有用的安全约束

<meta http-equiv="Content-Security-Policy" 
     content="default-src 'self' data: gap: ws: ssl.gstatic.com 'unsafe-inline';"> 

content security policy的文档出人意料地好,易于阅读。

+0

这帮助只有另外是我需要添加wss:用于安全的网络套接字 – neeta

+0

太棒了!如何限制到ws:// localhost?我正在尝试,但它不工作。 – f1lt3r