2014-02-27 76 views
0

我遇到過幾個涉及php,javascript和html的web應用程序。在那裏我注意到,表單驗證正在javascript和php中完成。這種做法有什麼用處?如果表單驗證直接在php腳本中完成,那麼這還不夠嗎?表單驗證實踐

回答

1

客戶端的JavaScript驗證不是manditory。它只是阻止客戶端(其JS已啓用)提交或重新加載頁面。服務器端驗證是最重要的,因爲JS驗證可以通過簡單地關閉JS來繞過。 JavaScript驗證不應該單獨依賴。

PHP驗證(服務器端驗證)不能被客戶端操縱。如果它沒有執行,你可能會以更差的數據結束,更糟糕的是SQL注入。因此,我們傾向於同時使用JS & PHP驗證

+1

僅僅爲了補充一點,JavaScript驗證通常用於表單驗證的視覺方面,例如,如果輸入錯誤,則突出顯示文本區域紅色,或者其他類似的視覺效果。 PHP用於安全性方面,也就是表單的實際驗證,也適用於添加動態文本,因爲它可以直接嵌入到HTML表單中。 – samrap

+0

這裏有很好的答案:http://stackoverflow.com/questions/162159/JavaScript的客戶端-VS-服務器端驗證 –

0

你說得對,PHP驗證是最重要的。 儘管使用javascript驗證,但如果出現錯誤,客戶端將不會自動執行請求。 因此,他沒有重新加載頁面(數據保存在良好的字段中),並且服務器不會因請求不良而過載。

如果您有時間只編寫一個驗證碼,請在PHP端進行驗證。 如果你有兩個時間,那就去做吧,這是件好事,真的,就像上面提到的那樣。

+2

JS不阻止任何事情。它阻礙了,但並沒有阻止。 JS是一個用戶體驗增強 –

+0

平原的權利。 - 編輯。 –

0

後端驗證是必須的。使用JS編寫的驗證還可以減少服務器無聊請求的數量,避免意外的表單提交,快速顯示錯誤消息而無需等待服務器響應。

0

如果您想首先驗證客戶端用戶的輸入,因爲您可以向普通用戶提供更好的理由,爲什麼他或她的表單值不會被接受。

例如:
如果用戶輸入您可以證明他輸入了錯誤的date.by這樣用戶的錯誤信息無效日期imediatelly更正日期和戴夫用戶時間。 如果你只在服務器上驗證,他們必須提交表單,得到一個錯誤消息,這將花費很多時間。

簡稱:
JavaScript驗證是客戶端,以提供更好的用戶體驗和服務器端(PHP)是用於檢查是用戶繞過JavaScript驗證或不

優點:
Javascript在客戶端執行,所以Javascript對於最終用戶來說相對較快

0

表單驗證通常在客戶端完成(使用Java (Java/PHP等)

但要注意的是重要點是客戶端驗證完成,以提供更好的反饋給用戶,並儘量減少發送到服務器的請求並再次送回。

由於瀏覽器可能禁用了JavaScript,因此請務必進行服務器端驗證。 JS代碼甚至可能被覆蓋,或者可以在客戶端添加惡意代碼。

1

客戶端驗證不是強制性的。開發人員使用Javascript驗證來防止頁面刷新或重新加載過程。但出於安全目的,這並不好。由於某些瀏覽器允許禁用JavaScript以在當時運行,因此您的客戶端驗證將不起作用。 但是,您可以使用Javascript製作交互式且吸引人的用戶界面。

在這種情況下,您應該使用服務器端驗證(PHP)。因爲用戶無法禁用或啓用服務器端腳本。出於安全原因,最好使用服務器端腳本。

根據我的觀點,您應該同時使用驗證(PHP/Javascript)。