Показать сообщение отдельно
  #1 (permalink)  
Старый 25.11.2013, 20:35
Интересующийся
Отправить личное сообщение для Den Brown Посмотреть профиль Найти все сообщения от Den Brown
 
Регистрация: 22.10.2013
Сообщений: 19

"Засады" пользовательского ввода
Приветствую всех! и спасибо, что заглянули в эту тему.

Пишу JS в котором prompt спрашивает пользователя "как много вы ходите создать следующих записей"

после чего полученная переменная проверяется на число, округляется, проверятся на соотвествие диапазону (см. код проверки ниже) и передается в следущий цикл в качестве счетчика i<этоЧисло.

В цикле через AJAX API идет создание новых записей на сервере.

Но меня терзают параноидальные сомнения: а может ли пользователь ввести, например фрагмент JS кода, который потом исполнится? Исполнится ли он после моей проверки? Что еще может подкинуть злодей? спасибо

Вот код проверки (спасибо Учебнику и его Автору):

/*
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}

var quantity = prompt('How many records do you want to create? (Choose from 1 to 10)', '');

if (!isNumeric(quantity)) { // check is it a number?

quantity=null;

alert("Please enter a number from 1 to 10");

} else {

quantity=Math.floor(+quantity); //to number and round to floor


if (quantity<=0||quantity>10) { //check is it less than 1 or more than 10

quantity=null;

alert("Please enter a number from 1 to 10");

}
}

if(quantity!=null){

for (var i=0; i<quantity; i++) {

ТЕЛО ЦИКЛА

}
}
*/
Ответить с цитированием