Cordova白名單


這個外掛可以讓我們實現對應用程式白名單導覽策略。當我們建立新的 Cordova 專案,白名單外掛預設安裝並執行。您可以開啟config.xml檔案看看 Cordova提供 allow-intent 預設設定。

導航白名單

在簡單的例子,下面我們允許連結到一些外部URL。此程式碼放置在 config.xml 中。導航到 file:// URL 預設是允許的。

<allow-navigation href = "http://example.com/*" /> 

星號符號,*,用於允許導覽到多個值。 在上面的例子中,我們允許導覽到 example.com 所有子域。同樣可以應用到協定或字首到主機。

<allow-navigation href = "*://*.example.com/*" />

意圖白名單

還有它用allow-intent 元素來指定哪些網址系統可以開啟 。可以在config.xml中看到 Cordova 已經允許對我們來說需要的一些連結。

網路請求白名單

當看到config.xml檔案裡面,有 <access origin="*" />元素。這個元素允許應用程式通過 Cordova 勾點所有的網路請求。 如果你想只允許特定的請求,可以從 config.xml 中刪除,並自行設定。

如前面範例相同的原理。
<access origin = "http://example.com" /> 

這將允許來自所有網路請求 http://example.com.

內容安全策略

可以看到當前的安全策略在應用程式的 index.htmll 中頭元素中。
<meta http-equiv = "Content-Security-Policy" content = "default-src 
   'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 
   'self' 'unsafe-inline'; media-src *"> 

這是預設組態。如果你想允許一切從同一來源和 example.com 可以使用 ?

<meta http-equiv = "Content-Security-Policy" content = "default-src 'self' foo.com">
還可以允許的一切,但限制CSS和JavaScript相同的源。
<meta http-equiv = "Content-Security-Policy" content = "default-src *; 
   style-src 'self' 'unsafe-inline'; script-src 'self' 
   'unsafe-inline' 'unsafe-eval'">
由於這是初學者教學中,我們推薦的預設Cordova 選項。當熟悉了Cordova ,你可以嘗試設定一些不同的值。