我是Javascript和Vue.js的新手。试着了解更多关于它。现在,当调用API登录时,我将面临一个问题,该问题将在请求有效负载中显示密码。我想知道,它不安全,对不对?如果它是正确的。如何从浏览器中隐藏它?请大家帮助或建议我。
bjp0bcyl1#
这是一个相当沉重的主题,问题不是很具体,所以我会在这个过程中做一些假设。
我怀疑你的意思是,如果你在浏览器开发工具栏中查看请求,就会看到密码。如果是这种情况,这是预期的,不能100%缓解。我知道有人认为这意味着数据没有加密,并开发自定义解决方案来隐藏敏感数据。不过要记住的是,只要你使用**https**,浏览器就已经为你加密了。加密发生在请求离开您的浏览器之后,因此您不会看到它被加密,但它会以一种对中间的任何人隐藏内容的方式传输到指定的服务器。如果你添加一些额外的加密系统,你会增加复杂性,只要你传递密钥,“中间人”也可以访问它。目标服务器中的端点也是加密的,所以你甚至可以使用GET来传递敏感信息,而浏览器和服务器之间的任何人都不知道它是什么,但不要使用GET,因为POST有额外的好处,比如不将值存储在url缓存中,服务器不太可能将数据存储在日志中。
https
GET
POST
在LocalStorage和cookie中存储令牌也有一些考虑因素。最后决定哪一个更好是 * 不确定 *,但只要采取适当的预防措施,它们都可以是安全的(尽管我认为cookie可以更安全,但只有当你让它们无法被js访问时,所以在SPA的上下文中使用它们更困难)
1条答案
按热度按时间bjp0bcyl1#
这是一个相当沉重的主题,问题不是很具体,所以我会在这个过程中做一些假设。
我怀疑你的意思是,如果你在浏览器开发工具栏中查看请求,就会看到密码。
如果是这种情况,这是预期的,不能100%缓解。我知道有人认为这意味着数据没有加密,并开发自定义解决方案来隐藏敏感数据。不过要记住的是,只要你使用**
https
**,浏览器就已经为你加密了。加密发生在请求离开您的浏览器之后,因此您不会看到它被加密,但它会以一种对中间的任何人隐藏内容的方式传输到指定的服务器。如果你添加一些额外的加密系统,你会增加复杂性,只要你传递密钥,“中间人”也可以访问它。目标服务器中的端点也是加密的,所以你甚至可以使用GET
来传递敏感信息,而浏览器和服务器之间的任何人都不知道它是什么,但不要使用GET
,因为POST
有额外的好处,比如不将值存储在url缓存中,服务器不太可能将数据存储在日志中。https
时,您的数据将在浏览器和服务器之间加密。POST
请求发送敏感数据https
之上添加自定义加密。这将增加更多的复杂性而不是安全性。在LocalStorage和cookie中存储令牌也有一些考虑因素。最后决定哪一个更好是 * 不确定 *,但只要采取适当的预防措施,它们都可以是安全的(尽管我认为cookie可以更安全,但只有当你让它们无法被js访问时,所以在SPA的上下文中使用它们更困难)