簡體   English   中英

在沒有服務器端的客戶端進行Java表單驗證-安全嗎?

[英]Javascript form validation on client side without server side - is it safe?

假設我有某種形式的JavaScript客戶端驗證,而沒有服務器端驗證。

如果用戶在瀏覽器中禁用了javascript,將沒有“提交”按鈕,因此如果未啟用js,他將無法向我發送任何數據。

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

在此先感謝您,並為我的(可能是)明顯的問題感到抱歉!!!

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

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

永遠不要相信客戶。

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

能夠自行禁用javascript的任何人也可能也可以自行發出任意POST請求。 好的,我可能有點誇張,但這仍然不安全,因為有人可以在不使用瀏覽器的情況下執行POST請求,更不用說您的表單了。

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

客戶端驗證的Benifit速度很快,在用戶輸入正確的輸入之前,我們從不打服務器。 這樣可以節省時間並避免用戶煩惱。 這對於大型表單確實很有幫助。 但是,缺點是壞人可以覆蓋客戶端驗證,因此,為避免這種情況,我們還應該在處理數據之前在服務器端進行驗證。

暫無
暫無

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

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