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