2015-02-08 66 views
0

在「更改密碼」和「創建用戶」表格中,我在客戶端檢查passwordconfirmPassword的等同性。 檢查服務器上是否有任何安全優勢?在服務器上檢查`password` ==`confirmPassword`是否有任何安全性好處?

+1

我不這麼認爲。這樣做的主要目的是確保用戶設置他認爲他正在設置的密碼。 – 2015-02-08 14:48:27

+0

如果客戶端禁用JavaScript,最好在服務器端進行。沒有必要在客戶端做它。服務器端要簡單得多,因爲您只需編寫一次解決方案。正確「保護」系統的唯一方法是在數據庫中使用SSL和密碼哈希。我還建議使用久經考驗的密碼/哈希庫來幫助您簡化腳本。 – Kinnectus 2015-02-08 14:51:00

回答

1

檢查客戶端代碼將允許您給用戶即時反饋,檢查服務器允許您執行適當的驗證。

你不應該在客戶端執行任何真正的驗證,而應該只是爲了用戶的利益。

更改密碼錶單應始終提示用戶當前密碼以防止XSS,也不要將您的「舊密碼」字段與您的登錄或註冊密碼字段具有相同的字段名稱,以防止瀏覽器自動完成。

它也不會傷害隱藏字段中嵌入單次使用令牌

+0

好方法。如此真實。 – user3021830 2015-02-08 14:54:35

+0

這個問題不是關於一般的服務器/客戶端驗證。 – PHPst 2015-02-08 15:25:12

+1

安全問題是某些字段沒有被服務器驗證,如果您有一個策略來處理所有已傳入的字段,則會降低人爲錯誤 – 2015-02-08 23:10:22

相關問題