我們有一個爲客戶提供多種白標籤解決方案的應用程序 - 這意味着它們託管在他們自己的域中。如何動態更改科爾多瓦白名單?
我們有一個科爾多瓦應用程序,我們希望用戶可以使用此應用程序訪問所有這些網站,但是我不想每次我們簽署新客戶時都要重新部署。
- 有沒有辦法通過url或其他方式加載白名單?這意味着我們可以通過我們的數據庫即時添加域名。
- 當您將所有網址列入白名單時,是否存在巨大的安全風險?
https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/
例
爲了澄清,我很想有像一個網址,它加載每次啓動時的白名單設置,您可以指向。
http://myexampledomain.com/whitelist.config
<allow-navigation href="*.myexampledomain.com/*" />
<allow-navigation href="*.subdomain.someclientdomain.com/*" />
<allow-navigation href="*.subdomain.someclientdomainb.com/" />
<allow-navigation href="*.subdomain.someclientdomainc.com/" />
...這個文件將在啓動時自動加載。
創建JS基於插件
如果不是當前的解決方案,是可以通過創建一個(基於JavaScript)科爾多瓦插件來做到這一點安全?與我們嘗試加載的網址在白名單外部時手動重定向一樣?
這意味着我們將科爾多瓦列入白名單並使用我們自己的插件來阻止我們自己的白名單外的所有內容。
(我知道,當我們的數據庫被攻破,這不是安全的,但在這種情況下,我們一般的更大的問題。我們的應用程序是爲了好玩,並且不依賴於關鍵功能)
我不認爲有一個簡單的方法。我能想到的一種方法是將允許導航設置爲*通配符,並將所有請求路由到服務器端,以處理過濾器中的請求過濾並重定向到相應的URL – Gandhi
Dirk,您的目標平臺是什麼? ?如果包含iOS,恐怕沒有什麼可以輕鬆做到的。這是因爲根據文檔白名單似乎使用[NSAppTransportSecurity](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33),其中轉到編譯的應用程序(包)的屬性文件。並且該配置由iOS/Apple的網絡框架本身處理,因此您無法「實時」更改它。所以你的自定義插件可能是唯一的方法。 – SergGr