"Засады" пользовательского ввода
Приветствую всех! и спасибо, что заглянули в эту тему.
Пишу 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++) {
ТЕЛО ЦИКЛА
}
}
*/
|