2

我一直在寻找使我的 REST 应用程序更安全的方法。HTTP 基本身份验证似乎是一种方式,但需要在每次请求时在客户端和服务器之间传送用户名+密码。如果我使用curlJavascript 文件可以正常工作吗?不是很酷。

我最近发现并阅读了有关 Digest HTTP 身份验证的信息,这似乎比 HTTP Basic 提供的安全性有了很大进步,尽管理解起来要复杂得多,但我仍然没有完全诚实。

我已经看过这个问题,它是了解使用 Digest 方法的利弊的答案,但似乎我想得越多,一切就变得越混乱。

似乎已经有很多可用的解决方案来解决这个问题,但是其中大多数现在已经接近 10 年了。

Digest 方法是否应该是最好的一种恐龙,最好将其留在黑暗中,以寻求另一种更新的保护请求的方法,或者是否有任何好的已经存在的 Digest 库可用?

4

2 回答 2

1

您是否考虑过使用 HTTPS?您真正需要的只是域的签名安全证书,并检查您的代码以确保它以这种方式连接。它将以这种方式使用 SSL,服务器和浏览器将自动负责加密来回发送的数据,并将使用三次握手进行所有通信。

于 2011-07-12T22:22:53.667 回答
0

您可以查看 Facebook 和 Twitter 等流行 API 使用的不同身份验证技术,它们使用OAuth方法进行身份验证。

Google Maps (v2) 和 Bitly 等其他 API 允许您使用 URL 中的 API 密钥访问他们的 API。因此,每个用户都有一个 API 密钥可以在请求中使用,例如http://api.domain.com/get?key=supersecureapikey

这两种方法都非常出色,并且在整个网络中被广泛使用,只有直接从 javascript 访问 API 才会暴露 API 密钥/密码。解决此问题的一种选择(我使用的选项)是让 javascript 调用服务器上的文件,该文件在服务器端执行 API 调用,从而保持密钥/密码 [更多] 安全。

于 2011-07-12T22:14:16.970 回答