我們在生產中使用了CouchDB
,主要是在受控環境中構建應用程序。大多數情況下,我們使用中間件庫直接調用couchdb/cloudant
,因此避免直接(前端JavaScript調用直接調用CouchDB/Cloudant
)。CouchDB和Cloudant安全
出於安全原因,很明顯,通過身份驗證的CouchDB數據庫:http://{username}:{password}@IPAddress:Port/DB
OR爲cloudant:https://{username}:{password}@username.cloudant.com/DB
, 如果呼叫直接從JavaScript做,今天在瀏覽器的開發者工具,使一個人認識到這一點調用並因此完全訪問您的數據庫。
在中間件處理時,附件通常很痛苦。使雲霧處理附件的緩存和服務直接到達前端是有利的,因此減輕了我們的中間件的負擔。然而,在網絡上和大量的觀衆中,直接打電話給我們的雲環境是棘手的。
我們首先爲所有附件擁有一個獨立的cloudant帳戶,因此inquisitive boy
不會篡改實際的元數據或我們用戶的信息。因此,他們可以訪問的唯一雲帳戶是附件,因爲我們正在對數據庫進行直接的JavaScript調用。
問題:我們如何找到隱藏我們的雲環境的用戶名和密碼的方式,從而使我們能夠安全地直接將JavaScript調用到cloudant上?我們的基礎設施完全在雲端,所以我們沒有代理和東西可以使用。我們聽說過Url縮短服務,CDNs e.t.c.但是,我們還沒有提出一個確鑿的解決方案。