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元素,用於指定允許哪些 URL 開啟系統。您可以在config.xml中看到 Cordova 已經為我們允許了大多數需要的連結。

網路請求白名單

當您檢視config.xml檔案時,會有<access origin="*" />元素。此元素允許透過 Cordova hook 向我們的應用程式發出所有網路請求。如果您只想允許特定請求,可以將其從 config.xml 中刪除並自行設定。

使用的原理與之前的示例相同。

<access origin = "http://example.com" />

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

內容安全策略

您可以在index.htmlhead元素中看到您的應用程式的當前安全策略。

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

廣告
© . All rights reserved.