2011-11-13 38 views
0

Supose我有一些與JavaScript客戶端驗證和服務器端驗證的形式。沒有服務器端的客戶端Javascript表單驗證 - 它安全嗎?

如果用戶在瀏覽器中禁用了JavaScript,則不會提交按鈕,因此如果未啓用js,他將無法發送任何數據。

但我不知道是否有任何方法可以從客戶端瀏覽器更改我的驗證指令,以便他可以向我發送不可信的數據並對我的數據庫造成一些損害。

在此先感謝和抱歉我的(可能)明顯的問題!

+0

有沒有辦法可以因爲*關閉Javascript *或更好呢*注入我自己的Javascript * ...哦,看看,我擁有你的盒子。 – zellio

回答

5

不,這是不安全的。使用服務器端驗證。

例如,即使沒有瀏覽器,我也可以閱讀您的源代碼。然後只需使用CURL發送包含惡意數據的發佈請求。

永遠不要信任客戶。

+0

我考慮保存服務器資源。但它不安全,我將使用服務器端驗證。謝謝! –

+0

它現在在本地機器上 –

+0

節省資源,在重要的地方。除非您的驗證代碼每天都值得,否則它總是會使用無意義的資源量。 – Esailija

1

不,它不安全。例如,我可以在瀏覽器中打開JavaScript調試器並覆蓋您的驗證。

1

任何能夠自行禁用javascript的人都可能也可以自行創建任意POST請求。好吧,我可能會誇大其詞,但仍然不安全,因爲有人可以在不使用瀏覽器的情況下執行POST請求,更不用說您的表單了。

0

我建議使用客戶端和服務器端驗證。

客戶端驗證的好處是速度很快,在用戶輸入正確的輸入之前,我們從來沒有打過服務器。這節省了時間並避免了用戶的影響。這在大型表單中非常有用。 然而,缺點是一個壞人可以重寫客戶端驗證,因此爲了避免這種情況,我們應該在處理數據之前在服務器端進行驗證。

相關問題