【发布时间】:2015-08-14 14:03:17
【问题描述】:
我是一名网络开发人员,使用 Firebug 跟踪我的 AJAX 请求。 但是几天前我才知道,Firebug 不仅会跟踪您所做的每个网络请求,而且还会跟踪异步请求。
如果您通常使用 HTTP 协议(不是 AJAX 调用)提交表单,它仍会记录在 Firebug 的 Net 面板中并公开显示。 我在拥有 SSL 证书并使用 HTTPS 协议的各种知名网站(无法透露名称)上检查了它,尽管他们也遇到了这个问题。
有没有什么技术可以在提交普通表单之前加密密码?
假设我使用$.ajax(),那么我可以使用base64或我的自定义加密技术对密码进行加密,但是如果是正常的HTTP提交呢?
重现步骤:
- 打开 Firefox。
- 如果您有 Firebug 或安装它,请启动它,然后启动它。
- 转到 Firebug 中的 Net 面板。
- 打开您拥有帐户的任何网站,然后使用您的凭据登录。
- 只需检查您以纯文本形式获得原始密码的 POST 请求。
【问题讨论】:
-
请注意,输入密码的人也可以看到他们正在输入的密码! (使用 HTTPS,这仅在实际提交数据的机器上的浏览器中可见。这不是您可以缓解的,也不应该担心)
-
aaaaand:base64 不是加密。它是一种编码!大不同。
-
@JoshuaK:是的,先生,我同意你的观点,它不是加密。但是有什么办法可以控制这个..?
-
看看 Alex K 的评论。没有必要控制这个。它仅在客户端可用...您无法隐藏它,也不需要它。这不是安全漏洞或风险或类似的想法。如果您还有其他问题,请编辑您的问题,以便我们了解您在什么时候遇到了困难
-
使用 JS,您可以在通过 HTTP/S 发送之前对字段的值进行哈希处理。然后,服务器需要能够在收到该值时对其进行反散列处理。取决于你如何散列它,这可能是不可能的。因此,这仅在 A)浏览器启用 JS 并且 B)服务器准备接收散列值时才有效。所以这不适用于任何网站。我担心你错过了每个人都在说什么。密码只显示给用户;与 SSL 一起使用时,客户端和服务器之间的通信是加密的。
标签: php jquery asp.net firebug