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

在请求的标头中发送令牌是否安全?

慕胡媚
2023-03-14

我想使用jwt令牌向我的应用程序添加身份验证。

每次向服务器发送请求时,我都会附加服务器创建的令牌。

我受伤了,这是在标头中发送令牌的安全方式吗?如果有人访问我的计算机并在 DevTools 选项卡中检查我的网络并看到我的令牌,他可以使用令牌模拟请求并控制用户数据

这是常见的情况吗?以及窃取和黑客 JWT 代币的方法?

共有3个答案

段超
2023-03-14

这是事情应该发生的方式。在JWT令牌身份验证中,服务器提供的令牌应该始终作为带有< code>Authorization: Bearer的报头发送

然后,当请求到来时,网站应该检查令牌的有效性,并进行相应的处理。

编辑

是的,使用HTTPS是强制性的。如果一个人得到了你的电脑,那么他们可以使用令牌来模拟用户。代币的好处是它们大多是短命的,这意味着它们很快就会过期。因此停止了它们的使用,需要重新认证。

裴卓君
2023-03-14

令牌是一个短期密钥。任何有权访问令牌的人都可以访问该密钥解锁的任何内容。感觉不安全,但这是使用令牌的一个基本属性。你使用HTTPS来加密数据,这样数据就不会在传输过程中被读取,但是人们总是有办法获得令牌。

在易访问性和安全性之间往往存在权衡。人们已经接受了使用令牌进行身份验证的相关风险。明确地说,任何存储密钥的身份验证方法都有这个问题;唯一真正的选择是为每一个请求询问密码,但不是没有人有时间这样做。

闻人嘉悦
2023-03-14

是的,将令牌附加到标头是很常见的。它看起来像这样:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

当然,有人可以进入你的电脑检查令牌。但是通常你的电脑也有某种身份验证来登录。手机也一样,几乎每个人都有某种密码。

存储令牌的一个好方法是httpOnly cookie。有了这个标志,javascript 无法读取客户端的 cookie。它使XSS攻击更难获得令牌。

关于JWT的问题是,它们有一个到期日期,并且在到期之前有效。假设您登录到一个网页,并获得一些令牌。现在有人偷了你的代币。您注销并从设备中删除令牌。

现在的问题是,令牌被盗,仍然有效,因此攻击者可以使用它。

在这一点上,攻击者技术上是你,因为他有一个令牌,里面有保存的数据。

你可以在这里创建一个黑名单。如果你注销,你就把你的代币放入黑名单。每当有人试图访问需要令牌的东西时,你首先要检查该令牌是否在黑名单中,如果是你拒绝了请求。

对于黑名单,我建议使用像 redis 这样的缓存来快速访问。

 类似资料:
  • 我正在努力构建两个asp.netmvc web应用程序之间的安全集成;和调用网络扫描应用程序的ERP系统。所以目前在接收器应用程序(网络扫描应用程序)上我有以下操作方法,应该只由ERP系统执行:- 而在调用者系统(ERP系统)上,我有以下调用上述动作方法的动作方法。 如上面代码所示,我正在发送一个安全令牌,它存储在两个应用程序的web中。配置文件。通过这种方式,我可以确保(或者这是我的意图)网络扫

  • 下面是我的视频示例代码Vimeo的视图 代替发送,我想发送以下标头 用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,比如Gecko)Chrome/46.0.2490.80 Safari/537.36。 那要怎么做?

  • 我是一个使用angular的新手,我正在努力学习一点,但我不能使用令牌进行简单的获取。我做了很多研究,最后总是得到这段代码。 对于我的后端,我使用Kotlin/Springboot并配置了Cors。 即使如此,当尝试这样做请求我得到这个错误。 访问位于“”的XMLHttpRequesthttp://localhost:5000/api-v1/来源的帐户/列表 -- 果心js:15713错误Http

  • 我使用curl命令调用我的REST服务 我试图使用Python的请求库映射相同的代码 我的问题是,如何在代码中设置我的TOKEN值?

  • 问题内容: 我正在使用一个API,该API需要额外的安全性信息以及HTTP请求作为标头中的元信息发送。是否可以在XMLHttpRequest中设置它们? 问题答案: 是的,请参阅2012年12月6日当前XMLHttpRequest工作草案的“ setRequestHeader()方法” 。

  • 我在自己的Web API上使用Oauth2,在Web应用程序上使用ASP.NET C#来使用该API。在我的web应用程序上,我正在进行HttpWebRequests。当我的访问令牌过期时,我调用一个方法“refreshToken”,该方法发出请求以获取新的访问令牌。这工作很好,没有问题...除了我得到的响应包含一个新的刷新令牌???我在等新的访问令牌。我甚至认为在没有再次传递凭据的情况下这是不可