代码之家  ›  专栏  ›  技术社区  ›  ffConundrums

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

  •  1
  • ffConundrums  · 技术社区  · 5 年前

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

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

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

    2 回复  |  直到 5 年前
        1
  •  0
  •   Brad    5 年前

    不要记录。

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

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

        2
  •  -1
  •   Bruno Monteiro    5 年前

    如果通信已经是https并且您不担心被截取的数据,那么您可以使用 序列化 以下内容:

    $(your_password_field).serialize();

    另一个想法是,如果在python服务器上使用某个框架,请检查它们的文档。例如,这篇文章展示了如何使用django的序列化:

    https://simpleisbetterthancomplex.com/tutorial/2016/08/29/how-to-work-with-ajax-request-with-django.html

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

    SSL Alternative - encrypt password with JavaScript submit to PHP to decrypt