2016-03-14 117 views
-2

我有一個html5 web應用程序,它使用jquery從其他java api獲取數據。我有兩個問題:REST API安全問題

  1. 如何加密服務器上的數據並使用每個用戶的不同密鑰在本地進行解密。我在哪裏可以將此密鑰存儲在客戶端?它是否需要,還是足以通過某種身份驗證方法來保護其他服務調用?
  2. 是否有任何標準的方法來防止其他休息客戶端(瀏覽器除外)打這個休息API?

回答

1
  1. 使用HTTPS

  2. 使用認證,所以你知道是誰打它 - OAuth的,客戶端證書,會話令牌 - 但沒有什麼可以真正做到防止除了瀏覽器訪問它的其他任何東西。通過使用javascript快速回收身份驗證令牌可以使問題變得更加困難(但如果用戶打開多個窗口,則會以可怕的方式破解)。

+0

在point1中,我指的是數據加密到客戶端的情況。所以如果你打開螢火蟲,你將不會看到數據來自json,而是加密的數據。然後JavaScript將不得不解密他們。我的問題是哪裏可以安全地存儲這個密鑰 –

+0

它不能。如果瀏覽器可以解密它,其他代理也可以解密。 – symcbean