2
此問題不是關於安全性或「如何正確實施」相關問題,而是有關預先檢查輸入值的概念。「更改密碼」對話框的正確javascript預檢方法
作爲第一種方法,我試圖執行以下程序(注意,在每個check if
聲明,方法如有虛假,否則算法繼續返回一個標識符值)
Save entered values in oldPW, newPW1, newPW2
check if oldPW is correct (Ajax request)
check if newPW1 == newPW2
check if length of newPW1 is >=6
check if newPW1 contains legal characters
check if newPW1 contains required characters (like at least one uppercase char etc.)
這種做法造成的問題,我認爲它涉及到異步ajax請求。我返回一個特定的標識符整數,並調用方法如
switch(checkPasswords(oldPW, newPW1, newPW2){
case 0:
// alert something suitable
break;
case 1:
// alert something suitable
break;
//(...)
case n-1:
// alert something suitable
break;
case n:
// everything is ok, change password
break;
}
在最後檢查舊密碼是否更清晰?甚至直接嘗試更改密碼時(假定新的所需密碼滿足要求),並因此只有一個ajax請求?什麼是共同的概念?