在javascript控制台日志中隐藏/加密敏感POST json的最佳方法

在javascript控制台日志中隐藏/加密敏感POST json的最佳方法,javascript,passwords,console.log,password-encryption,Javascript,Passwords,Console.log,Password Encryption,我有一个简单的web服务器(python)和一些API端点,还有一个带有表单的HTML页面。当用户提交表单时,表单数据通过jquery通过ajax POST调用发送到web服务器。API端点是HTTPs 对于其中一个API端点,它需要的参数之一是密码。我假设数据传输本身(从浏览器-->服务器)是安全的,因为POST是通过https完成的(所有验证都是在服务器上完成的)。但是,我希望能够混淆密码,这样它就不会出现在控制台日志中。(示例-实际进行api调用的javascript函数是一个通用函数,可

我有一个简单的web服务器(python)和一些API端点,还有一个带有表单的HTML页面。当用户提交表单时,表单数据通过jquery通过ajax POST调用发送到web服务器。API端点是HTTPs

对于其中一个API端点,它需要的参数之一是密码。我假设数据传输本身(从浏览器-->服务器)是安全的,因为POST是通过https完成的(所有验证都是在服务器上完成的)。但是,我希望能够混淆密码,这样它就不会出现在控制台日志中。(示例-实际进行api调用的javascript函数是一个通用函数,可以向任何端点发送。在调试模式下,此函数将转储它将要发送的post json。因此,如果您调用接收密码的端点,密码将以明文形式显示在日志中。)


我只是好奇,是否有一个最佳实践的方式来实现这一点?不太复杂的东西?最好在浏览器中加密,然后在服务器中解密?还是让日志显示***的方法?注意-我不担心浏览器和服务器之间截获的数据,这只是为了防止控制台日志中出现任何明文内容。

如果通信已经是HTTPS,并且您不担心截获的数据,那么您可能可以使用类似序列化的方法:

$(您的密码字段)。序列化()

另一个想法是,如果您在Python服务器上使用某种框架,请查看它们的文档。例如,本文展示了如何将序列化与Django一起使用:

这里还有一个有趣的讨论:

不要记录它

正如您所说,数据在传输中是安全的。如果问题只是日志,只需修复日志,就不会记录敏感数据


同样重要的是,日志文件与系统的其他部分一样安全。大量与安全相关的信息可以从原始日志文件中派生。

可能需要查看JWT(JSON Web令牌)。我现在可以修复日志,但不需要记录它。但另一个让我担心的是,比如说在将来的某个地方,有人无意中在服务器中添加了一个打印,从而转储了负载。现在访问该网站的任何人的密码都以明文形式公开。即使日志是安全的,它现在对做出更改的人是可见的。我想这个想法是——如果他们是邪恶的,并且可以访问代码库,他们总是可以改变任何他们想要得到的信息。我更担心的是,一个无辜的更改最终会将密码泄露给他人。旁注-保护日志的好处一般来说,我没有对此做太多考虑,这是我现在要做的事情。@ffConundrums添加一层模糊处理并不能改变这一事实。如果有人破坏了你的密码,泄露了秘密,就会发生这种情况。你所要做的就是在增加错误的安全感的同时增加开发难度。谢谢。你说的是我在发布这篇文章后开始阅读的观点。也许我需要更多地理解这个观点。我能不能就为什么这个答案没有用给出反馈?