2016-10-06 69 views
-2

首先發送密碼,我意識到這是一個非常不好的做法 - 不過,我已經看到了這樣做的網站,我想知道。如何使用確認郵件(PHP)

是否有無論如何發送密碼與註冊的詳細信息,仍然有密碼存儲爲散列?

因此,基本上,在註冊後,用戶會收到一封確認電子郵件以及用戶名和密碼,以供參考。當一個網站這樣做時,他們是否將密碼存儲爲散列或明文?

密碼存儲爲明文然而,在的電子郵件 - ,是單純存儲爲明文的服務器,或發送電子郵件後,哈希?

這可能看起來像一個奇怪的問題,但因爲我已經看到了很多網站這樣做,我倒是想知道 - 是我最初的假設錯了嗎?那麼,這種做法實際上是一種糟糕的做法,還是安全的? (我沒有看到其他原因,所以很多網站會這樣做)

+2

一些服務仍然在電子郵件中以密文的形式發送密碼,並將它們存儲在數據庫中的散列中。不是很好的做法,但它是容易做 –

+0

爲什麼它的這個壞主意會成爲安全堆棧交換站點的問題,怎麼做就像你所描述的那樣,把用戶輸入密碼作爲變量,創建一個散列,保存散列,然後使用原始的變量 – Steve

+3

*「首先,我意識到這是一個非常糟糕的做法」* - 你說的對,爲什麼要這樣做? –

回答

4

「?@弗雷德-II-能否請您複製/粘貼意見作爲回答我 - Zack105」

按照要求:

「然而,它只是存儲作爲服務器中的明文,還是在電子郵件發送後進行哈希處理?「

我們不知道如何每個服務被使用和他們真正做的。有些可能會將密碼存儲爲純文本,有些可能會散列。有些人可能會將密碼保存在不同位置的純文本密碼,有些人可能會這樣做,並散列;它可以是任何東西。

如果你將要開始自己的服務或者是用戶註冊的網站,然後作爲密碼哈希,而不是保存爲純文本。你提出的問題有太多的場景。我希望我們已經給你足夠的開始。

,如果你不知道這個,準備語句,如果你是想獲取用戶輸入應使用將有助於防止可能的SQL注入另一件事。

參考文獻:


deceze註釋,從(現已刪除)回答拉

我的報價:

「最佳做法是讓用戶選擇自己的密碼,並且永遠不要在任何時候以純文本存儲或發送它。密碼是一個祕密,它必須完全存在於用戶的頭腦中(或安全密碼管理器)。用戶帳戶的安全取決於密碼的保密性。 「 - deceze

1

不要。就這麼簡單。這樣做的網站完全是懶惰。他們從不想要求密碼的支持電話,或者技術上不識字的人迫使IT部門這樣做。密碼應該從不以明文形式通過線路發送。人們很愚蠢,重複使用密碼等。如果您擔心人們已經忘記了他們的密碼,請向他們發送指向該電子郵件中密碼重置頁面的鏈接。

+0

沒有真正回答這個問題,但它是唯一明智的答案。 – deceze

+0

我想你並沒有真正閱讀過這個問題.....我不想用這個,我只是想看看它是否有效。顯然,它沒有,但我要求一個技術性的解釋,而不是有人告訴我這是行不通的。我特別說我不想要那樣。 – Zackh105

+0

@ Zack105它確實有效,應該永遠不要做。你寫道:「無論如何發送密碼和註冊詳細信息,仍然有密碼存儲爲散列?」沒有提到你的意圖。這是因爲'我如何完成這個?'如果所有的人都說不這樣,那是多麼的無關緊要。 – Walf