我有一个简单的Web服务器(使用python),带有一些API端点,以及一个带有表单的HTML页面。当用户提交表单时,表单数据通过jquery通过ajax POST调用发送到Web服务器。 API端点是HTTP。
对于其中一个API端点,它采用的参数之一是密码。我想数据传输本身(从浏览器->服务器)是安全的,因为POST是通过https完成的(所有验证都在服务器上完成)。但是,我希望能够混淆密码,以使其不会显示在控制台日志中。 (示例-实际上进行api调用的javascript函数是可以发布到任何端点的通用函数。在调试模式下,此函数将转储将要发送的json信息。因此,在调用端点的情况下使用密码,密码将以纯文本形式显示在日志中。)
我只是好奇是否有最佳实践来实现这一目标?不太复杂的东西吗?最好在浏览器中加密然后在服务器中解密?还是仅使日志显示***的方法?注意-我并不担心浏览器和服务器之间会截获数据,这只是为了防止任何内容以明文形式出现在控制台日志中。
答案 0 :(得分:0)
请勿登录。
正如您所说,数据在传输中是安全的。如果问题仅在于日志,则只需修复日志即可避免记录敏感数据。
同样重要的是,您的日志文件应与系统其余部分一样安全。可以从原始日志文件中获取大量与安全相关的信息。
答案 1 :(得分:-1)
如果通信已经是HTTPS,并且您不担心数据被拦截,则可以使用串行化
之类的东西。 $(your_password_field).serialize();
另一个想法是,如果您在Python服务器上使用某些框架,请查看其文档。例如,这篇文章显示了如何在Django中使用序列化:
这里还有一个有趣的讨论:
SSL Alternative - encrypt password with JavaScript submit to PHP to decrypt