我对 HTTPS 和 HTTP 身份验证凭据有疑问。
假设我使用 HTTP 身份验证保护 URL:
<Directory /var/www/webcallback>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/passwd/passwords
Require user gooduser
</Directory>
然后我通过 HTTPS 从远程系统访问该 URL,并在 URL 中传递凭据:
https://gooduser:secretpassword@www.example.com/webcallback?foo=bar
用户名和密码会自动进行 SSL 加密吗? GET 和 POST 也一样吗?我很难找到具有此信息的可靠来源。
用户名和密码会自动进行 SSL 加密吗? GET 和 POST 也是如此
对对对。
使用 SSL 时,整个通信(如果主机名的 IP 尚未缓存,则保存用于 DNS 查找)被加密。
是的,它将被加密。
如果您只是检查幕后发生的事情,您就会理解它。
浏览器或应用程序将首先分解 URL 并尝试使用 DNS 查询获取主机的 IP。即:将发出 DNS 请求以查找域的 IP 地址 (www.example.com)。请注意,不会通过此请求发送其他信息。浏览器或应用程序将使用从 DNS 请求中收到的 IP 地址发起 SSL 连接。证书将被交换,这发生在传输层。此时不会传输任何应用程序级别信息。请记住,基本身份验证是 HTTP 的一部分,而 HTTP 是应用程序级协议。不是传输层任务。建立 SSL 连接后,现在必要的数据将被传递到服务器。即:路径或URL、参数和基本认证用户名和密码。
不一定是真的。它将在网络上被加密,但它仍然以纯文本形式出现在日志中