簡體   English   中英

驗證php中的輸入數據-javascript

[英]validation of input data in php - javascript

我想驗證用戶在表單中輸入的數據。 我只有一個用戶名和兩個密碼字段。 我的第一個問題是,我使用javascript檢查數據,並且工作正常,但如果JavaScript無法正常工作,我也想使用php檢查數據。 如果javascript無法正常工作,則將從php代碼中檢查數據,但是我的問題是,如果javascript正在正常工作,則也將從javascript和php中檢查數據。 這樣好嗎 通過javascript檢查輸入數據時,有什么方法可以避免使用php檢查? 我也在檢查輸入(用戶名和密碼)的字符數,字符(我不允許特殊字符,只有“ _”,“。”數字和字母,以避免sql注入)-怎么做聽起來對嗎? 您還有其他建議可以更好地進行驗證嗎?

先感謝您。

您應該始終對userinput進行服務器端(php)驗證。 客戶端(javascript)驗證僅有助於更好的用戶體驗。 同樣,您不應該將輸入限制為某些字符以防止mysql注入,還有其他可靠的方法。

是的,您應該同時驗證客戶端(JS)和服務器端(PHP)。

在客戶端上執行此操作可為您的用戶帶來便利,並改善用戶體驗。

在服務器上執行此操作可防止惡意攻擊,或者如您所述,以防用戶禁用JS。

您應該始終執行服務器端驗證。 不能保證客戶端驗證(例如javascript驗證)不會失敗。 抓住調試工具(當今的瀏覽器中內置了許多調試工具)並規避javascript驗證是一個簡單的練習。

通常,沒有什么錯,甚至建議在Javascript和PHP的兩個地方都進行驗證。

兩種方式都可以檢查,絕對推薦。 如果要避免在啟用了Javascript的情況下使用PHP進行檢查,則可以將隱藏字段附加到表單中,然后使用PHP進行檢查。

例如

if(!isset($_POST['js_hidden_field'])) {

    // Run Validation 

}

因此,您檢查隱藏字段,如果未設置,請運行PHP驗證

這實際上是很好的,我認為您永遠不能做過多的驗證。 具有Web開發經驗的任何人都可以操縱客戶端腳本,但是服務器端腳本則不能。

客戶端腳本驗證專家:

  • 在提交數據之前提醒用戶,允許他們進行自我糾正
  • 使您的網站看起來更加精致

服務器端驗證的優點:

  • 沒有人可以更改您擁有的任何驗證規則
  • 他們無法關閉服務器端驗證。

簡而言之,兩者都做是好的,實際上比只做另一種要好。

暫無
暫無

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

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