[英]How can I validate a password via PHP?
我知道要存儲密碼,您必須對其進行哈希處理。 我使用password_hash
和password_verify
來做到這一點。
但是令我驚訝的是,有人說您不需要在對密碼進行哈希處理之前就對其進行驗證,因為無論如何您都將對哈希進行哈希處理。
我認為,至少要驗證用戶輸入的密碼長度超過字符數,或者讓用戶輸入特殊字符( *
, "
, '
等),至少是一個好習慣。密碼強。
所以在這里我有一些問題:
注意:我想從安全角度了解所有這些問題。
提前致謝!
密碼強度要求是上下文相關的。 您不會談論自己的背景。
通常,我會設置一個最小長度,並計算某種復雜性指數,以防止人們輸入“ aaaaaaaa”或“ 12345678”。
但是密碼強度要求很煩人,特別是當您規定許多規則時。
我經常嘗試實施另一種策略:選擇訪問者的密碼。 這不是一個新的想法; 考慮一下信用卡的個人識別碼。 這有很多好處:
還有一個缺點:訪問者必須“記住”我選擇的密碼。 把事情簡單化。 一個四位數的PIN碼已具有10000個變體。 為了防止濫用,我限制了嘗試次數。
對於需要非常安全的網站,您可以增加密碼的復雜性並定期重新發出密碼。 不要將密碼存儲在數據庫中,而只能存儲加鹽的哈希。 不要通過電子郵件發送密碼,而是將其顯示在受SSL保護的HTML頁面中。 如果安全要求不是很高,則可以忽略其中一些規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.