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 ,你可以嘗試設置一些不同的值。