Когда я пишу код проверки для веб-формы, я обычно предполагаю, что содержимое поля является действительным, и пытаюсь доказать, что оно недействительно.Не лучше ли предположить, что содержимое поля недействительно, а затем попытаться доказать, что оно допустимо?
Очень простой пример (псевдокод):
function isValid( formFieldValue, minLength, maxLength ) {
valid = true;
fieldLength = length( formFieldValue );
if( fieldLength < minLength ) {
valid = false;
}
if( fieldLength > maxLength ) {
valid = false;
}
return valid;
}
лучше предположить, что указанное поле является недействительным, и соответствующим образом изменить мои проверки?
Обратите внимание - я не говорю о защите XSS или фильтрации входных данных.Мы никогда не можем предполагать, что пользовательский ввод безопасен.Я говорю о проверке таких вещей, как минимальная / максимальная длина или действительный адрес электронной почты в поле формы.