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