我试图确保当用户输入密码进行登录时,它不会出现在请求的有效负载中。在后端,我使用express.js并使用bcrypt加密密码。在前端我使用solid.js 如何确保在开发工具中查看时密码不会出现?
我尝试在前端对它们进行哈希处理并将它们发送到后端,但它收到的内容并不相同。我也研究过 JWT,但我不确定它是否与此密切相关...我只是希望它能够逻辑验证用户是否正确以及访问应用程序的密码是否正确,但无需密码如果有人访问开发工具就可以发现。
正如评论者所说,密码以明文形式出现在有效负载中并不是安全问题 - 只要您使用
https
。
但是如果您担心密码:
那么有一种方法可以阻止用户的明文密码传输到服务器。
不幸的是,这意味着你将不得不完全放弃 bcrypt;因为在 SRP 下,密码的哈希值是无用的。
通常的解决方法是:
但更好的版本是只使用
https
,并告诉监管者、审计员、经理或政府自己做一些在解剖学上不可能的事情。