60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: HTML Dom Innerhtml Property | |||
|  | localeTitle: Свойство HTML Dom Innerhtml | |||
|  | --- | |||
|  | ## Свойство HTML Dom Innerhtml
 | |||
|  | 
 | |||
|  | Внутренняя поддержка `innerHTML` возвращает содержимое HTML внутри выбранного элемента, а также позволяет вам определять новый HTML-контент. | |||
|  | 
 | |||
|  | **_СОДЕРЖАНИЕ_** | |||
|  | 
 | |||
|  | ```html | |||
|  | 
 | |||
|  | <div id="demo">  | |||
|  |   <p>Demo</p>  | |||
|  |  </div>  | |||
|  | ``` | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var element = document.getElementById("demo");  | |||
|  |  console.log(element.innerHTML) //logs <p>Demo</p>  | |||
|  | ``` | |||
|  | 
 | |||
|  | **_СОДЕРЖАНИЕ ЭЛЕМЕНТА_** | |||
|  | 
 | |||
|  | ```html | |||
|  | 
 | |||
|  | <div id="demo"></div>  | |||
|  | ``` | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var element = document.getElementById("demo");  | |||
|  |  element.innerHTML = "<div>Demo</div>";  | |||
|  | ``` | |||
|  | 
 | |||
|  | HTML теперь будет как | |||
|  | 
 | |||
|  | ```html | |||
|  | 
 | |||
|  | <div id="demo">  | |||
|  |   <div>Demo</div>  | |||
|  |  </div>  | |||
|  | ``` | |||
|  | 
 | |||
|  | **_ОБСУЖДЕНИЕ БЕЗОПАСНОСТИ_** | |||
|  | 
 | |||
|  | Значение, установленное для `innerHTML` должно поступать из надежных источников, поскольку Javascript будет помещать что-либо внутри этого элемента, и он будет запущен как простой HTML. | |||
|  | 
 | |||
|  | Пример: | |||
|  | 
 | |||
|  | Установка значения « `<script>alert();</script>` » приведет к запуску функции «alert ()» Javascript: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var element = document.getElementById("demo");  | |||
|  |   | |||
|  |  element.innerHTML = "<script>alert();</script>";  | |||
|  | ``` | |||
|  | 
 | |||
|  | Этот тип атаки называется [Cross Site Scripting, или XSS для краткости](https://en.wikipedia.org/wiki/Cross-site_scripting) . | |||
|  | 
 | |||
|  | Это один из наиболее распространенных способов совершения атаки XSS. Если вы хотите узнать немного больше и научиться защищаться от него, [ознакомьтесь с этим ресурсом](https://xss-game.appspot.com/) |