Kiw*_*ela 7 rest https http http-headers
我将创建一个发布请求,并且我正在使用令牌,为什么我必须将令牌放入标头而不是请求正文中?我的理解是 body 比 http-headers 更安全,是吗?
或者将令牌放入标头的唯一原因是为了在我们的 API 中的多个方法之间分离并保持一致性
Ama*_*dan 11
Header 对服务器来说更方便。
想象一个 API,你上传一个文件作为 PUT 的正文 - 如果令牌也在正文中,你必须以某种方式处理编码正文以明确什么是令牌以及什么是上传的文件。
如果 body 是 JSON,你可以将 token 放在 body 旁边(在这种情况下你不能只是 JSON.parse 它,你需要再次解码它们如何组合在一起)或者你可以将 token 埋在 JSON 中(在这种情况下您必须先下载整个 JSON 并对其进行解析,然后才能获取令牌)。
可以在下载正文之前访问标头 - 因此,如果恶意代理通过向您发送大量 100Mb 请求对您的服务器进行 DoS 攻击,您可以在收到标头后立即检测到缺乏适当的授权,然后关闭断开连接,而无需下载和分析 100Mb 的有效负载。
与在标题中相比,我看不出在正文中有令牌有任何好处。
讨论了与传入数据相关的安全问题url vs body
。主要的一点是urls
中间服务器更频繁地记录日志,因此敏感信息可能会出现在日志中。
如果我们继续这个想法headers/body
,我会建议与正文相比,标题更有可能被记录。至少在我们的应用程序中,我们似乎将请求与标头一起记录。
从密码学的角度来看,它们都等同于一起传输。
归档时间: |
|
查看次数: |
2639 次 |
最近记录: |