1 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
不知道你說的安全性指的是什么,是指通過前端校驗(yàn)用戶的輸入來保證站點(diǎn)安全的能力嗎?
對(duì)于服務(wù)器端來說,正確的做法是所有前端傳入的參數(shù)都不應(yīng)該被信任?;蛘哒f,前端對(duì)用戶輸入的校驗(yàn)做的再嚴(yán)格再合理,傳入到服務(wù)器端時(shí),服務(wù)器端都要對(duì)傳入的數(shù)據(jù)重新進(jìn)行校驗(yàn)。或者你可以理解成,前端校驗(yàn)的目的不是為站點(diǎn)安全保駕護(hù)航的,其主要目的是為用戶服務(wù)為了提高用戶體驗(yàn)的。
keyup
、change
、blur
等在實(shí)際開發(fā)過程中都有使用的,具體選用哪個(gè)事件進(jìn)行監(jiān)聽是根據(jù)你具體的校驗(yàn)?zāi)康臎Q定的。keyup
相較于change
、blur
更具有實(shí)時(shí)性,可以快速針對(duì)用戶的輸入進(jìn)行校驗(yàn)或判斷。如在注冊(cè)表單中,設(shè)置登錄密碼,可以通過監(jiān)聽該事件快速實(shí)現(xiàn)對(duì)密碼強(qiáng)度的判斷并展示給用戶,提醒用戶增加密碼強(qiáng)度。但是實(shí)時(shí)性可能并不是最好的,還拿注冊(cè)表單舉例子。在校驗(yàn)用戶賬戶名是否存在時(shí),如果監(jiān)聽keyup
,用戶剛按下按鍵就進(jìn)行判斷,則前端頁面會(huì)在用戶輸入過程中向服務(wù)器發(fā)送大量的請(qǐng)求,這會(huì)對(duì)服務(wù)器端造成較大的不必要的壓力、同時(shí)也會(huì)消耗大量的客戶端的資源、甚至造成表單校驗(yàn)的不可控。這時(shí)監(jiān)聽change
或blur
事件就顯得更為合理。
添加回答
舉報(bào)