0

我知道有很多关于这个的话题。但我还是很困惑。

我有一个应用程序向我的服务器(nodeJS)发出请求以获取 JSON 数据。目前,每个人都可以在以下位置获得一切:http://myserver/allUpdates/无需密码。他们只需要知道 URL。

所以我想我会做得更安全一些。我一直在查看Basic Auth,这似乎可以通过在每个请求的标头中发送用户名和密码来工作。

够了吗?

有些人说,如果你不使用 SSL,它不会做太多事情。但总比没有好,对吧?

我从未使用过 SSL,似乎还有很多东西要学。

所以我的问题是,当我不使用 SSL 时,我应该打扰身份验证吗?或者还有其他选择吗?

4

2 回答 2

1

SSL 对您的请求进行加密,这意味着任何嗅探您的网络流量的人都无法读取请求的有效负载。

您有两种方法可以将客户端验证到服务器:

  • 随每个请求发送凭据或 API 密钥,或者
  • 使用凭据或 API 密钥登录客户端一次并重用它的会话

在这两种方式中,您都应该使用 SSL 并将凭据与您的 POST 数据一起发送。

于 2013-01-29T11:51:55.983 回答
1

有些人说,如果你不使用 SSL,它不会做太多事情。但总比没有好,对吧?

不幸的是,这些人是对的。基本身份验证在发送明文时可能比没有更糟糕,因为它给您一种模糊的感觉,即没有任何实际安全性。

这是因为通过代理或类似方式拦截网络请求是微不足道的。如果您不使用 SSL,那么您发送的每个参数都很容易看到,包括您的基本身份验证凭据。

回答您的问题“当我不使用 SSL 时是否应该使用身份验证?” - 那要看。如果您想确保您的数据只能由经过身份验证的用户访问,那么它真的是 SSL 或什么都没有。但是,如果您要做的只是减轻服务器的负担(即速率限制),那么可能不会。我假设您正在寻找前者,在这种情况下,我建议您花时间掌握 SSL。有很多关于将 Node 与 SSL 结合使用的资源,具体取决于您可能使用的其他框架(Express 等)。

于 2013-01-29T11:54:01.413 回答