2010-04-26 135 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,參數和基本認證用戶名和密碼。