2013-04-21 52 views
1

我的問題很簡單,我使用HTML,PHP和jQuery爲我的網站寫了一個簡單的登錄/註冊表單。依靠HTML'required'進行簡單的表單驗證

當我可以在每個輸入中使用HTML-s必需標記並使用PHP檢查用戶名可用性和密碼匹配時,是否需要在PHP中編寫表單驗證?

我認爲這是一個很好的做法,在後端也有一個驗證,但是看起來HTML中的'required'函數需要處理所有這些?這可能會被輕易濫用,單純依賴HTML進行簡單表單驗證的一般缺點是什麼?

+0

謝謝大家,很好回答,我會+1所有人,但沒有代表。 – neo112 2013-04-21 17:00:56

回答

3

是否neccesary寫表單驗證在PHP也

你永遠不能依賴任何形式的客戶端驗證。它總是可以被繞過。

人們可能正在使用不支持HTML 5驗證屬性的瀏覽器,或者可能使用DOM檢查器將其刪除。

通過關閉JavaScript,JavaScript解決方案可以被忽略。

表單可以複製/粘貼,編輯,然後從用戶擁有的頁面提交。

可以手動構建HTTP請求,而無需靠近表單。永遠只能被提供給用戶的便利性

等等,等等

客戶端驗證。只能在服務器端處理您的系統的保護。

2

你不應該依賴前端驗證。也不是Javascript或HTML。用戶可以打開你的註冊表單,使用螢火蟲或其他工具,檢查文本框並刪除required屬性。也可以發送到後端POST方法變量,甚至無需打開前端

2

驗證服務器上是必須的

你可以漂亮的東西了但是通過讓用戶得到即時確認在客戶端和服務器反饋,但是在PHP中進行驗證是很有必要的。

1

這可能有助於將客戶端驗證視爲可用性問題,並將服務器端驗證視爲安全問題。

在可用性可能被描述爲「很高興」的地方,安全性絕對是「必須擁有」的。