【发布时间】:2014-02-02 19:06:48
【问题描述】:
我有一个通过 https 上的 ajax 调用完成用户登录的网站。显然请求中包含密码。使用 Firefox 开发人员工具,我注意到我可以检查来自我的页面的任何网络请求,包括请求正文......并且有我的密码。我假设该请求是通过 https 加密的,但开发人员工具仍将其显示为纯文本。我错过了什么吗?如果用户在公共机器上登录并忘记注销,任何人都可以使用开发人员工具来获取他们的密码。提前感谢您提供的任何帮助。
-迈克
【问题讨论】:
-
您可能会考虑实现类似 HMAC 身份验证的方法,其中您只发送密码的哈希值。此外,浏览器通常不会将 TLS/SSL 请求存储在缓存中。当然,如果没有 2 因素身份验证,公共机器可能很容易运行键盘记录器,等等;有无数种方法可以通过中间受感染的机器来破坏密码验证; HMAC +:2-factor auth via e.g. SMS 是目前防范它们的较好方法之一。
-
@BRPocock:浏览器不在缓存中存储 SSL 页面是一个古老的神话。它们绝对会像常规的不安全 HTTP 页面一样将 SSL 页面存储在缓存中,遵循
Cache-Control标头中的任何指令。 -
哇,没想到这已经是默认设置了。确认它在我的 Firefox 上关闭,但有点惊讶。谢谢乔希###
-
存储页面和存储 POST 数据是不同的。 HMAC 身份验证并不意味着任何类型的加密。除了社交方面,仅发送密码哈希并不比发送实际密码更好。
标签: security