我遇到過幾個涉及php,javascript和html的web應用程序。在那裏我注意到,表單驗證正在javascript和php中完成。這種做法有什麼用處?如果表單驗證直接在php腳本中完成,那麼這還不夠嗎?表單驗證實踐
表單驗證實踐
回答
客戶端的JavaScript驗證不是manditory。它只是阻止客戶端(其JS已啓用)提交或重新加載頁面。服務器端驗證是最重要的,因爲JS驗證可以通過簡單地關閉JS來繞過。 JavaScript驗證不應該單獨依賴。
PHP驗證(服務器端驗證)不能被客戶端操縱。如果它沒有執行,你可能會以更差的數據結束,更糟糕的是SQL注入。因此,我們傾向於同時使用JS & PHP驗證
你說得對,PHP驗證是最重要的。 儘管使用javascript驗證,但如果出現錯誤,客戶端將不會自動執行請求。 因此,他沒有重新加載頁面(數據保存在良好的字段中),並且服務器不會因請求不良而過載。
如果您有時間只編寫一個驗證碼,請在PHP端進行驗證。 如果你有兩個時間,那就去做吧,這是件好事,真的,就像上面提到的那樣。
JS不阻止任何事情。它阻礙了,但並沒有阻止。 JS是一個用戶體驗增強 –
平原的權利。 - 編輯。 –
後端驗證是必須的。使用JS編寫的驗證還可以減少服務器無聊請求的數量,避免意外的表單提交,快速顯示錯誤消息而無需等待服務器響應。
如果您想首先驗證客戶端用戶的輸入,因爲您可以向普通用戶提供更好的理由,爲什麼他或她的表單值不會被接受。
例如:
如果用戶輸入您可以證明他輸入了錯誤的date.by這樣用戶的錯誤信息無效日期imediatelly更正日期和戴夫用戶時間。 如果你只在服務器上驗證,他們必須提交表單,得到一個錯誤消息,這將花費很多時間。
簡稱:
JavaScript驗證是客戶端,以提供更好的用戶體驗和服務器端(PHP)是用於檢查是用戶繞過JavaScript驗證或不
優點:
Javascript在客戶端執行,所以Javascript對於最終用戶來說相對較快
表單驗證通常在客戶端完成(使用Java (Java/PHP等)
但要注意的是重要點是客戶端驗證完成,以提供更好的反饋給用戶,並儘量減少發送到服務器的請求並再次送回。
由於瀏覽器可能禁用了JavaScript,因此請務必進行服務器端驗證。 JS代碼甚至可能被覆蓋,或者可以在客戶端添加惡意代碼。
客戶端驗證不是強制性的。開發人員使用Javascript驗證來防止頁面刷新或重新加載過程。但出於安全目的,這並不好。由於某些瀏覽器允許禁用JavaScript以在當時運行,因此您的客戶端驗證將不起作用。 但是,您可以使用Javascript製作交互式且吸引人的用戶界面。
在這種情況下,您應該使用服務器端驗證(PHP)。因爲用戶無法禁用或啓用服務器端腳本。出於安全原因,最好使用服務器端腳本。
根據我的觀點,您應該同時使用驗證(PHP/Javascript)。
- 1. PHP表單驗證最佳實踐
- 2. 最佳實踐symfony驗證
- 3. 角(2)服務器端表單驗證(和最佳實踐)
- 4. 表單必須進行什麼驗證?最佳實踐
- 5. 與PHP表單驗證實踐相混淆
- 6. WCF實體驗證的最佳實踐
- 7. Symfony表單驗證實體
- 8. PHP會話驗證 - 最佳實踐
- 9. Laravel 4:最佳實踐來驗證
- 10. Silverlight驗證的最佳實踐?
- 11. CDialog和CPropertySheet驗證最佳實踐?
- 12. 最佳實踐 - 驗證URL Rails3
- 13. php身份驗證最佳實踐...?
- 14. 用戶身份驗證最佳實踐
- 15. 參數驗證,在Python最佳實踐
- 16. Vaadin驗證的最佳實踐
- 17. 視圖驗證的MVC最佳實踐?
- 18. 驗證模型屬性,最佳實踐
- 19. Rest Api參數驗證最佳實踐
- 20. Web API身份驗證最佳實踐
- 21. 驗證Model和ViewModel的最佳實踐
- 22. 驗證資源的REST實踐
- 23. 驗證輸入java的最佳實踐
- 24. DDD ASP MVC驗證最佳實踐
- 25. 表單驗證未驗證
- 26. TYPO3單選按鈕驗證的最佳實踐
- 27. 在 「單一職責」 和編碼實踐對象驗證
- 28. 單元測試方法參數驗證最佳實踐
- 29. AngularJS - 表單良好實踐
- 30. HTML - 表單最佳實踐
僅僅爲了補充一點,JavaScript驗證通常用於表單驗證的視覺方面,例如,如果輸入錯誤,則突出顯示文本區域紅色,或者其他類似的視覺效果。 PHP用於安全性方面,也就是表單的實際驗證,也適用於添加動態文本,因爲它可以直接嵌入到HTML表單中。 – samrap
這裏有很好的答案:http://stackoverflow.com/questions/162159/JavaScript的客戶端-VS-服務器端驗證 –