簡體   English   中英

HTML5驗證與PHP驗證

[英]HTML5 Validation vs PHP Validation

什么時候進行表單驗證,這是最好的方法? 使用HTML5,您可以驗證電子郵件地址和電話號碼,但通常我會用PHP執行此操作,那么哪種方法更好? 或者我應該驗證HTML5和PHP中的輸入?

都。

經驗法則:
驗證客戶端,為用戶提供更好的體驗。
驗證服務器端以確保您收到的數據100%是您所期望的。

始終使用服務器端編程語言進行驗證,此外,您還可以使用客戶端驗證。 這樣做的原因是所有內容都可以在客戶端進行修改,從而繞過任何客戶端驗證。 它甚至都不難,並且有很多工具可供人們修改html和/或Javascript以提交他們想要的任何內容。

黃金法則是,永遠不要相信用戶。 期待最壞的情況並為此做好准備。 可以而且應該使用諸如firebug或其他Web開發人員工具之類的工具來嘗試。

你應該兩個都做。 在客戶端進行HTML5和/或JavaScript驗證以保存用戶頁面加載和PHP驗證,因為您永遠不能完全信任客戶端。

答案都是正確的。 不是偏好(如某些人所說)而是一項要求。 所有HTML(包括HTML5)都可以通過瀏覽器直接在您的頁面上進行編輯。 就像使用Firebug編輯此頁面的標題一樣,您可以編輯HTML輸入驗證器,如果它們沒有服務器端驗證,它將接受您放入的任何內容。 僅使用HTML5處理驗證就像邀請黑客破壞所有數據庫表一樣。 你想要那個嗎?

我在這個愚蠢的家伙網站上發現了最后一條評論作為一個明顯的例子: http//demosthenes.info/blog/462/Goodbye-JQuery-Validation-HTML5-Form-Errors-With-CSS3

大多數專業程序員都有使用服務器端腳本語言驗證輸入字段的方法。 使用PHP的服務器端表單驗證比HTML5和客戶端表單驗證有多種方式:

  1. HTML5包含一些自動驗證輸入字段的屬性,例如:電子郵件,電話等。 這些屬性是有限的。 而在現實世界中,有許多形式的某些領域無法通過HTML5直接驗證。

  2. 如果您正在考慮使用javscript作為第二個選項的客戶端版本,那么請記住,可以在瀏覽器中關閉javascript。 因此它最終會影響用戶體驗。因此,最好通過像PHP這樣的服務器端腳本語言來驗證您的表單。

  3. 您應該對包含敏感數據的網站采用上述方法。

我更喜歡兩者。 如果某些內容不匹配,填寫要通知的表單時會很好。 但是,您不能依賴JS驗證,因為它很容易被繞過,因此需要服務器端。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM