【问题标题】:How can the password be hidden from Firebug's Net panel?如何从 Firebug 的网络面板中隐藏密码?
【发布时间】:2015-08-14 14:03:17
【问题描述】:

我是一名网络开发人员,使用 Firebug 跟踪我的 AJAX 请求。 但是几天前我才知道,Firebug 不仅会跟踪您所做的每个网络请求,而且还会跟踪异步请求。

如果您通常使用 HTTP 协议(​​不是 AJAX 调用)提交表单,它仍会记录在 Firebug 的 Net 面板中并公开显示。 我在拥有 SSL 证书并使用 HTTPS 协议的各种知名网站(无法透露名称)上检查了它,尽管他们也遇到了这个问题。

有没有什么技术可以在提交普通表单之前加密密码?

假设我使用$.ajax(),那么我可以使用base64或我的自定义加密技术对密码进行加密,但是如果是正常的HTTP提交呢?

重现步骤:

  1. 打开 Firefox。
  2. 如果您有 Firebug 或安装它,请启动它,然后启动它。
  3. 转到 Firebug 中的 Net 面板。
  4. 打开您拥有帐户的任何网站,然后使用您的凭据登录。
  5. 只需检查您以纯文本形式获得原始密码的 POST 请求。

【问题讨论】:

  • 请注意,输入密码的人也可以看到他们正在输入的密码! (使用 HTTPS,这仅在实际提交数据的机器上的浏览器中可见。这不是您可以缓解的,也不应该担心)
  • aaaaand:base64 不是加密。它是一种编码!大不同。
  • @JoshuaK:是的,先生,我同意你的观点,它不是加密。但是有什么办法可以控制这个..?
  • 看看 Alex K 的评论。没有必要控制这个。它仅在客户端可用...您无法隐藏它,也不需要它。这不是安全漏洞或风险或类似的想法。如果您还有其他问题,请编辑您的问题,以便我们了解您在什么时候遇到了困难
  • 使用 JS,您可以在通过 HTTP/S 发送之前对字段的值进行哈希处理。然后,服务器需要能够在收到该值时对其进行反散列处理。取决于你如何散列它,这可能是不可能的。因此,这仅在 A)浏览器启用 JS 并且 B)服务器准备接收散列值时才有效。所以这不适用于任何网站。我担心你错过了每个人都在说什么。密码只显示给用户;与 SSL 一起使用时,客户端和服务器之间的通信是加密的。

标签: php jquery asp.net firebug


【解决方案1】:

请注意,密码仅在客户端和服务器中以纯文本形式显示。如果服务端使用TLS (formerly called SSL),那么数据在发送到服务端之前会被客户端加密,服务端会再次解密。

因此,只要客户端和服务器之间的连接是加密的,您就不必担心密码在 Firebug 中以明文形式显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 2015-03-13
    相关资源
    最近更新 更多