2016-12-14 40 views
5

在客戶端使用PouchDB訪問遠程服務器時,遵循最佳安全做法是什麼?PouchDB安全

與代碼中的遠程服務器上https://pouchdb.com/getting-started.html同步的例子:

var remoteCouch = 'http://user:[email protected]/todos'; 

問題是,我可能不希望用戶看到他們可以下載一個文件的明文密碼 - 即使該文件僅顯示給經過身份驗證的用戶。

請指教。在此先感謝,

回答

0

這取決於您的遠程服務器。如果您使用CouchDB服務器,則可以將其配置爲僅通過SSL(HTTPS)進行通信,有關詳細信息,請參閱docs

如果您不想將您的CouchDB服務器直接暴露給互聯網,也可以將其隱藏在反向代理之後,例如,帶有mod_proxy擴展名和啓用了SSL的Apache服務器。

+4

使用SSL對於可以從JavaScript源讀取密碼的攻擊者沒有幫助 –

1

每個站點用戶都應該有自己的CouchDB用戶。正如@onno所示,使用HTTPS和用戶的登錄憑證來訪問CouchDB。密碼永遠不能在客戶端JavaScript中使用。

1

以下是關於CouchDB的所有auth功能的really good article

我有一個生產服務器,配置CouchDB配置爲通過本地主機使用HTTP,但外部請求需要HTTPS通過stunnel重定向到CouchDB。

在客戶端上,我使用PouchDB來維護本地複製數據庫。作爲通過HTTPS與CouchDB建立通信的握手的一部分,軟件從另一臺服務器獲取CouchDB證書 - 證書永遠不會存儲在客戶端。

pouchdb-authentication是一個很好的插件,但我發現它更好地處理身份驗證。