2016-03-14 73 views
-2

我有一个html5 web应用程序,它使用jquery从其他java api获取数据。我有两个问题:REST API安全问题

  1. 如何加密服务器上的数据并使用每个用户的不同密钥在本地进行解密。我在哪里可以将此密钥存储在客户端?它是否需要,还是足以通过某种身份验证方法来保护其他服务调用?
  2. 是否有任何标准的方法来防止其他休息客户端(浏览器除外)打这个休息API?

回答

1
  1. 使用HTTPS

  2. 使用认证,所以你知道是谁打它 - OAuth的,客户端证书,会话令牌 - 但没有什么可以真正做到防止除了浏览器访问它的其他任何东西。通过使用javascript快速回收身份验证令牌可以使问题变得更加困难(但如果用户打开多个窗口,则会以可怕的方式破解)。

+0

在point1中,我指的是数据加密到客户端的情况。所以如果你打开萤火虫,你将不会看到数据来自json,而是加密的数据。然后JavaScript将不得不解密他们。我的问题是哪里可以安全地存储这个密钥 –

+0

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