为什么我们在 Header 上传递身份验证令牌?
Why we pass authentication token on Header?
我在 laravel 上有自己的登录概念。现在我想让它成为第三方登录解决方案。所以我必须了解很多事情。所以请告诉我
为什么我们总是在 Get 和 [=18= 的 header 上传递 Authentication token ]Post 方法 ?
为什么不直接 url(查询字符串)?
这个的优点和缺点是什么?
将参数传递给 url 存在风险。
想象一下,如果您超出了记录流量的 firewall/proxy,攻击者可以获取令牌并做出想要的事情。
另请参阅此 Whosebug post
除了 Max 的回答之外,请参阅这篇 OWASP 文章,其中提到了一些更多细节,为什么将敏感信息放入查询参数不是一个好主意:
https://www.owasp.org/index.php/Information_exposure_through_query_strings_in_url
关于您为什么最好将此信息放入 header 的问题,resp。将其放入 URL 的缺点(或更好:威胁)是:
This allows attackers to obtain sensitive data such as usernames, passwords, tokens (authX), database details, and any other potentially sensitive data. Simply using HTTPS does not resolve this vulnerability.
我在 laravel 上有自己的登录概念。现在我想让它成为第三方登录解决方案。所以我必须了解很多事情。所以请告诉我
为什么我们总是在 Get 和 [=18= 的 header 上传递 Authentication token ]Post 方法 ?
为什么不直接 url(查询字符串)?
这个的优点和缺点是什么?
将参数传递给 url 存在风险。 想象一下,如果您超出了记录流量的 firewall/proxy,攻击者可以获取令牌并做出想要的事情。
另请参阅此 Whosebug post
除了 Max 的回答之外,请参阅这篇 OWASP 文章,其中提到了一些更多细节,为什么将敏感信息放入查询参数不是一个好主意:
https://www.owasp.org/index.php/Information_exposure_through_query_strings_in_url
关于您为什么最好将此信息放入 header 的问题,resp。将其放入 URL 的缺点(或更好:威胁)是:
This allows attackers to obtain sensitive data such as usernames, passwords, tokens (authX), database details, and any other potentially sensitive data. Simply using HTTPS does not resolve this vulnerability.