【发布时间】:2019-11-29 02:16:44
【问题描述】:
我在 laravel 上有自己的登录概念。现在我想让它成为第三方登录解决方案。所以我必须明白很多事情。所以请告诉我
为什么我们总是在 Get 和 Post 方法的 header 上传递 Authentication token ?
为什么不在直接网址(查询字符串)上?
这有什么优点和缺点?
【问题讨论】:
标签: authentication oauth-2.0 laravel-5.7 bearer-token
我在 laravel 上有自己的登录概念。现在我想让它成为第三方登录解决方案。所以我必须明白很多事情。所以请告诉我
为什么我们总是在 Get 和 Post 方法的 header 上传递 Authentication token ?
为什么不在直接网址(查询字符串)上?
这有什么优点和缺点?
【问题讨论】:
标签: authentication oauth-2.0 laravel-5.7 bearer-token
将参数传递给 url 存在风险。 想象一下,如果您超出了记录流量的防火墙/代理,攻击者可以获取令牌并制作它想要的东西。
【讨论】:
除了 Max 的回答之外,请参阅这篇 OWASP 文章,其中提到了为什么将敏感信息放入查询参数不是一个好主意的更多细节:
https://www.owasp.org/index.php/Information_exposure_through_query_strings_in_url
关于您的问题,为什么最好将此信息放入标题中,分别。将其放入 URL 的缺点(或更好:威胁)是:
这允许攻击者获取敏感数据,例如用户名、密码、令牌 (authX)、数据库详细信息以及任何其他潜在的敏感数据。仅使用 HTTPS 并不能解决此漏洞。
【讨论】: