将URL中的用户名和密码传递到受“ htpasswd”保护的域中,是否将其加密?

时间:2019-06-24 11:19:18

标签: http https .htpasswd

我知道您可以使用以下架构输入受htpasswd保护的URL的用户名,密码和域:

http://$username:$password@$Domain

例如:

http://sam:1234@example.com

但这对HTTPS域有效吗?如果这样,用户名和密码是否在传输过程中被加密?

1 个答案:

答案 0 :(得分:8)

HTTP基本身份验证存在一些问题:

  • 密码以base64编码(可轻松转换为纯文本)通过网络发送。
  • 针对每个请求重复发送密码。 (较大的攻击窗口)
  • 网络浏览器会缓存密码,密码至少要保留窗口/进程的长度。 (可以由对服务器的任何其他请求以静默方式重用,例如CSRF)。
  • 如果用户要求,密码可以永久存储在浏览器中。 (与上一点相同,此外,其他用户可能会在共享计算机上被盗)。

其中,仅使用SSL解决第一个问题。即使这样,SSL也仅在网络服务器保护之前-任何内部路由,服务器日志记录等都将看到纯文本密码。

因此,就像处理所有内容一样,重要的是要看整个图片。

HTTPS是否保护传输中的密码?是的。

够了吗?通常不会(我想说的是,永远不会-但这实际上取决于您的网站是什么以及网站的安全性。)

完整记下以下答案(复制的单词到单词)

https://security.stackexchange.com/questions/988/is-basic-auth-secure-if-done-over-https