axios 如何在调用API端点时隐藏凭据?

wydwbb8l  于 2023-05-06  发布在  iOS
关注(0)|答案(1)|浏览(168)

我是Javascript和Vue.js的新手。试着了解更多关于它。现在,当调用API登录时,我将面临一个问题,该问题将在请求有效负载中显示密码。
我想知道,它不安全,对不对?如果它是正确的。如何从浏览器中隐藏它?
请大家帮助或建议我。

bjp0bcyl

bjp0bcyl1#

这是一个相当沉重的主题,问题不是很具体,所以我会在这个过程中做一些假设。

  • 调用API登录,该API登录将在请求有效负载中显示密码 *

我怀疑你的意思是,如果你在浏览器开发工具栏中查看请求,就会看到密码。
如果是这种情况,这是预期的,不能100%缓解。我知道有人认为这意味着数据没有加密,并开发自定义解决方案来隐藏敏感数据。不过要记住的是,只要你使用**https**,浏览器就已经为你加密了。加密发生在请求离开您的浏览器之后,因此您不会看到它被加密,但它会以一种对中间的任何人隐藏内容的方式传输到指定的服务器。如果你添加一些额外的加密系统,你会增加复杂性,只要你传递密钥,“中间人”也可以访问它。目标服务器中的端点也是加密的,所以你甚至可以使用GET来传递敏感信息,而浏览器和服务器之间的任何人都不知道它是什么,但不要使用GET,因为POST有额外的好处,比如不将值存储在url缓存中,服务器不太可能将数据存储在日志中。

  • 当正确使用https时,您的数据将在浏览器和服务器之间加密。
  • 您应该使用POST请求发送敏感数据
  • 避免在https之上添加自定义加密。这将增加更多的复杂性而不是安全性。

在LocalStorage和cookie中存储令牌也有一些考虑因素。最后决定哪一个更好是 * 不确定 *,但只要采取适当的预防措施,它们都可以是安全的(尽管我认为cookie可以更安全,但只有当你让它们无法被js访问时,所以在SPA的上下文中使用它们更困难)

相关问题