2017-02-24 43 views
0

我建立了一個非常簡單的AngularJS應用商店創建產品訂單。 截至目前,該應用只使用PHP通過電子郵件發送命令給客戶和零售商,但我想這可能是很好的學習了一下如何使用數據庫和存儲/檢索此訂單(這是數組)到Cloudant 。安全連接到Cloudant使用AngularJS(以及可能的PHP)

但後來我意識到,連接到Cloudant服務,呼叫看起來是這樣的:

https://{username}:{password}@username.cloudant.com/DB 

我想這是不是很安全可言,作爲呼叫和憑據會爲任何人可見。

此外,在應用程序沒有必要在所有的人有一個帳戶或登錄,這將部分安全幫助。

由於我對Node或任何其他後端系統有0經驗,我想知道:是否可以使用AngularJS(或PHP來存儲敏感值)來安全調用Cloudant服務?

我讀過一點關於每個用戶一分貝,但它似乎沒有幫助我的情況下,我需要一個單一的數據庫來存儲我所有的訂單。

任何提示將不勝感激。

+0

你是從客戶端或服務器端發出這些請求?如果您在前端進行這些調用,硬編碼身份驗證信息只能公開使用。如果是後端代碼,最終用戶通常永遠都看不到它。 – ppajer

+0

客戶端!現在,應用程序中沒有任何東西是服務器端,除了發送電子郵件的PHP文檔之外,它都是前端。 –

+1

我會建議看看[Hoodie](http://hood.ie/),這是一個爲此提供工具和API的框架。 –

回答

2

如果您需要公開您的API調用您的憑據,你最好不要從前端做他們。如果您在使用角度和PHP,以向公衆隱瞞您的身份驗證信息的最簡單的方法是如下:

  • 創建一個PHP文件,將你的API代碼,後端。
  • 這將是一個工作,但最終服務登錄應該發生在服務器上。該文件應接收來自客戶端的請求,並將它們傳輸到遠程服務,然後將其響應返回給客戶端。
  • 在前端使用AJAX調用上述PHP文件,並繼續顯示其對用戶的響應,就像處理API響應一樣。

這樣,您的API憑證就不會向任何檢查您網頁的HTML源代碼的人公開,並且您可以按照您設置的方式保留大部分前端邏輯。