2010-04-26 144 views
211

我对HTTPS和HTTP身份验证凭证有疑问。通过URL和加密传递的HTTP基本身份验证凭证

想我确保URL与HTTP认证:

<Directory /var/www/webcallback> 
AuthType Basic 
AuthName "Restricted Area" 
AuthUserFile /var/www/passwd/passwords 
Require user gooduser 
</Directory> 

我再从远程系统访问该网址通过HTTPS,合格证书的网址:

https://gooduser:[email protected]/webcallback?foo=bar 

请问用户名和密码是否自动进行SSL加密? GET和POST也一样吗?我很难用这些信息找到一个可靠的来源。

+1

相关:[用户名和密码在https url](http://stackoverflow.com/questions/4980912/username-and-password-in-https-url) – 2015-02-04 02:25:34

回答

201

用户名和密码是否会自动进行SSL加密?对于GET和POST而言也是如此

是,是的是。

当SSL正在使用时,整个通信(如果主机名的IP尚未缓存,则保存为DNS查找)。

+23

+1。 GET和POST,包括url,都被加密。我只会添加 - 像萤火虫和篡改数据的工具能够显示未加密的结果*仅仅是因为它们是浏览器的一部分,因此能够在加密之前拦截请求。一旦通过电线发送,所有内容都被加密。 – 2010-04-27 05:40:04

+18

要清楚,除域之外的所有内容都已加密。如果有人遇到此问题并希望得到更详细的答案,请参阅http://answers.google.com/answers/threadview/id/758002.html – rcourtna 2010-04-29 02:03:21

+7

为了完整起见,“[Internet Explorer不支持用户名和密码在网站地址(HTTP或HTTPS URL)](http://support.microsoft.com/kb/834489/en-us)“ 看起来像只有Internet Explorer版本3.0到6。0支持HTTP或HTTPS URL的以下语法: http(s):// username:[email protected]/resource.ext 注意:此默认行为的更改不会影响其他协议。例如,在安装832894安全更新后,仍然可以在FTP URL中包含用户信息。 – Luke 2013-02-21 18:30:23

-7

不一定正确。它将在网上加密,但它仍然在日志中登录纯文本

+16

什么Web服务器从请求中记录用户名和密码?这将是一个不安全的Web服务器的地狱。 – 2012-07-27 02:09:26

+0

是的,这只是不正确的。指示apache记录这些信息可能是可能的,但默认情况下它肯定不会这样做。 – DougW 2012-08-13 23:14:16

+24

@Brandon可能认为查询字符串中含有“in URL”(例如,?user = bob&pw = 123hackmeplz)。这可能会在服务器日志中结束。 – 2013-06-24 22:49:28

16

是的,它将被加密。

如果您只是简单地检查幕后发生的事情,您会理解它。

  1. 浏览器或应用程序将首先分解URL并尝试使用DNS查询获取主机的IP。即:将发出DNS请求来查找域的IP地址(www.example.com)。请注意,没有其他信息会通过此请求发送。
  2. 浏览器或应用程序将使用从DNS请求收到的IP地址发起SSL连接。证书将被交换,这发生在运输级别。此时不会传输应用程序级别的信息。请记住,基本身份验证是HTTP的一部分,HTTP是应用程序级别的协议。 不是传输层任务。
  3. 建立SSL连接后,现在将必要的数据传递给服务器。即:路径或URL,参数和基本认证用户名和密码。