2009-06-07 44 views
50

我目前正在致力於通過HTTPS(因此SSL加密)工作的PHP OpenID提供程序。
是否錯誤讓我以純文本形式傳輸密碼? HTTPS在理論上不能被攔截,所以我沒有看到任何錯誤。或者這在某種程度上是不安全的,我沒有看到這一點?通過HTTPS的純文本密碼

回答

74

它是安全的。這就是整個網絡的工作原理。表單中的所有密碼始終以純文本格式發送,因此最多隻能使用HTTPS來保護它。

+16

Minor nitpick:一些登錄表單使用JavaScript來散列密碼,而不是發送純文本。 – Thorarin 2009-06-07 18:35:01

+3

@Thorarin如果他們真的哈希它,這意味着服務器以純文本存儲密碼,以便它可以用相同的鹽散列來驗證。伊克!以ssl包裝文本發送密碼更好,因爲服務器不需要以純文本格式存儲密碼。 – DGM 2010-02-14 20:59:46

+9

@DGM:雙重哈希也是一個選項,所以純文本密碼不是絕對必要的。 – Thorarin 2010-02-16 13:43:24

18

如果HTTP被禁用,而你只有使用HTTPS,那麼你並不是真的以純文本的方式傳輸密碼。

45

你仍然需要確保你通過POST請求發送它,而不是GET。如果您通過GET請求發送它,它可以以明文形式保存在用戶的瀏覽器歷史日誌或網絡服務器的訪問日誌中。

5

其他海報是正確的。現在,您使用SSL來加密密碼的傳輸,確保你有一個好的算法和鹽散列它,所以它的保護時,它的在休息,太...

4

哈希客戶端側。爲什麼? 讓我告訴你一個小實驗。 走進公司食堂的電腦。打開瀏覽器到公司網站登錄頁面(https)。 按F12,點擊網絡標籤,勾選持久化日誌,最小化控制檯,但保持網頁打開登錄頁面。 坐下吃午飯。在員工登錄到公司網站後作爲員工進行觀察,並在完成後成爲一名優秀的小工作人員。 完成午餐後,在電腦上坐下,打開網絡標籤,以純文本形式查看每個用戶名和密碼。

沒有特殊的工具,沒有特殊的知識,沒有花哨的黑客硬件,沒有鍵盤記錄器只是很好的老F12。

但是,嘿,一直想着你所需要的就是SSL。壞人會愛你。