我知道这有很多线索。但我仍然感到困惑。
我有一个应用程序向我的服务器(nodeJS)发出请求以获取JSON数据。
目前,每个人都可以获得所有内容:http://myserver/allUpdates/
,无需密码。他们只需要知道URL。
所以我想我会更安全一点。 我一直在寻找基本身份验证,这似乎可以通过在每个请求的标头中发送用户名和密码来实现。
那够了吗?
有些人说,如果你不使用SSL,它不会做太多。但它一定比没有好,对吗?
我从未使用过SSL,似乎还有很多需要学习的地方。
所以我的问题是,当我不使用SSL时,我是否应该使用auth? 还是有其他选择吗?
答案 0 :(得分:1)
SSL会对您的请求进行加密,这意味着任何嗅探您网络流量的人都无法读取请求的有效负载。
您有两种方法可以将客户端授权给服务器:
在这两种方式中,您都应该使用SSL并使用POST数据发送凭据。
答案 1 :(得分:1)
有些人说,如果你不使用SSL,它不会做太多。但它一定比没有好,对吗?
不幸的是,那些家伙是对的。当发送纯文本时,基本身份验证可能更糟,因为它会让您在没有任何实际安全性的情况下模糊一些安全感。
这是因为通过代理或类似方法拦截网络请求是微不足道的。如果您没有使用SSL,那么您发送的每个参数都很容易且可见,包括您的基本身份验证凭据。
回答你的问题“当我不使用SSL时,我是否应该使用auth?” - 这取决于。如果您想确保您的数据仅由经过身份验证的用户访问,那么它实际上是SSL或什么也不是。但是,如果您要做的只是减轻服务器的负担(即速率限制),那么可能不会。我将假设你正在寻找前者,在这种情况下我建议花时间去掌握SSL。有很多关于使用Node with SSL的资源,具体取决于您可能使用的其他框架(Express等)。