当前位置: 首页 > 知识库问答 >
问题:

为什么要在头上传递身份验证令牌?

公良琛
2023-03-14

我在laravel上有自己的登录概念。现在我想让它成为第三方登录解决方案。所以我必须了解很多事情。所以请告诉我

为什么我们总是在Get和Post方法的头上传递身份验证令牌?

为什么不在直接url(查询字符串)上?

这有什么优点和缺点?

共有2个答案

仇睿
2023-03-14

将参数传递给url存在风险。想象一下,如果你在记录流量的防火墙/代理之外,攻击者可以抓住令牌并制作它想要的东西。

另请参见此stackoverflow post

元景天
2023-03-14

除了Max的回答之外,请参阅这篇OWASP文章,其中提到了一些更多的细节,为什么将敏感信息放入查询参数中不是好主意:

https://www.owasp.org/index.php/Information_exposure_through_query_strings_in_url

关于你为什么最好把这些信息放在标题中的问题,分别是。把它放在网址中的缺点(或者更好的是:威胁)是什么:

这使得攻击者能够获取敏感数据,如用户名、密码、令牌(authX)、数据库详细信息和任何其他潜在的敏感数据。仅使用HTTPS无法解决此漏洞。

 类似资料:
  • 我正在尝试在Dropwizard web应用程序中实现OAuth2身份验证。我已经创建了所需的<code>验证器 我所需的行为是,在我的客户端通过在我的登录页面上提供他/她的凭据登录后,我想将客户端重定向到我使用Dropwizard Views创建的问候语页面,并且路径为“/me”,如下所示: 我的问候资源如下所示: 目前,我得到一个“访问此资源需要凭据。”登录后的响应。在阅读了一些关于令牌认证的

  • 我有一个从https://github.com/Azure-Samples/ms-identity-blazor-wasm/tree/main/WebApp-graph-user/Call-MSGraph.创建的blazor网络组装项目 它基本上是您使用时创建的项目。用于Blazor应用程序的net core模板,该应用程序通过AD B2B进行身份验证 然后我能够调用graph。用户登录时的api

  • 我是Swagger的新手。 我使用Swagger UI来生成Swagger文档。我有两个API调用。第一个调用是基于用户名和密码生成令牌。第二次调用需要第一次调用生成的令牌。 我如何使用Swagger UI设置第二次调用的令牌?

  • 我有一个REST Jersey web服务。 php中基于令牌的身份验证 它在答复中提到; “然后它发送此令牌和请求的某些特征的哈希来验证请求,例如sha1(令牌+时间戳+请求URL+请求正文)。您的服务器可以对此进行验证,而客户端不必在每个请求上以纯文本发送令牌。” 另一个问题是,一旦服务器接收到这个令牌的哈希值(包括时间戳和用户ID等),服务器如何在没有存储令牌的查找表或数据库的情况下从这个令

  • 问题内容: 使用REST Web服务时,在每次发出请求时都使用身份验证令牌,而不是通过HTTPS /加密发送用户名和密码,这有什么价值? 我知道,例如OAUTH具有一些好处,因为您不需要向第三方透露密码,您可以将令牌传递给您不想共享用户名/密码的受信任的第三方。 但是除了我在我的情况下当然不需要的特殊好处之外,为什么我还是使用令牌而不是每次发送用户名/密码。 这可能使客户的生活变得轻松,并且不必每

  • 我有一个LaravelAPI(实际上是LumenAPI)服务于VueJS前端。Vue应用程序允许用户登录到谷歌。然后将Google令牌发送回Lumen API,后者使用Google验证令牌,然后验证电子邮件地址是否为有效用户。然后它生成一个令牌,与用户一起存储在数据库中,并返回用户对象。 我没有使用Passport或jwt auth之类的东西。那么现在,我如何使用默认的Auth中间件来验证(现在已