04.3
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# 4.3 Межсайтовый скриптинг
|
||||
|
||||
Для совершенствования взаимодействия с пользоваталем современные сайты содержат все больше динамического контента, что означает, что мы должны предоставлять информацию динамически в зависимости от поведения каждого пользователя. К сожалению, существует такое явление как "межсайтовый скриптинг" (известный как "XSS"), осуществляющее постоянные атаки на динамические сайты, в то время как сайты со статическим содержимым этим атакам не подвержены.
|
||||
Для совершенствования взаимодействия с пользователем современные сайты содержат все больше динамического контента, что означает, что мы должны предоставлять информацию динамически в зависимости от поведения каждого пользователя. К сожалению, существует такое явление как "межсайтовый скриптинг" (известный как "XSS"), с помощью которого осуществляются постоянные атаки на динамические сайты, в то время как сайты со статическим содержимым этим атакам не подвержены.
|
||||
|
||||
Злоумышленники посылают на сайты, подверженные межсайтовому скриптингу, скрипты на JavaScript, VBScript, ActiveX или Flash. Если скрипт удачно вторгся на сайт, пользовательская инормация может быть похищена, а сайт наполнен спамом. Злоумышленники могут также изменить настройки пользователя на те, которые захотят.
|
||||
Злоумышленники посылают на сайты, подверженные межсайтовому скриптингу, скрипты на JavaScript, VBScript, ActiveX или Flash. Если скрипт удачно вторгся на сайт, пользовательская информация может быть похищена, а сайт наполнен спамом. Злоумышленники могут также изменить настройки пользователя на те, которые захотят.
|
||||
|
||||
Если Вы хотите предотвратить этот тип атаки, Вам нужно комбинировать два следующих подхода:
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
Рисунок 4.3 JavaScript после обработки escape-последовательностью
|
||||
|
||||
Функции пакета `html/template` помогут Вам заменить все теги HTML на их безопасные аналоги. Но что, если Вам нужно передать в браузер `<script>alert()</script>`? В этом случае нужно использовать пакет `text/template`.
|
||||
Функции пакета `html/template` помогут Вам заменить все теги HTML на их безопасные аналоги. Но что, если Вам нужно передать в браузер `<script>alert()</script>`? В этом случае нужно использовать пакет `text/template`:
|
||||
|
||||
import "text/template"
|
||||
...
|
||||
@@ -38,8 +38,7 @@
|
||||
|
||||
Привет, <script>alert('Вы попались!')</script>!
|
||||
|
||||
Или можно использовать тип `template.HTML` :
|
||||
Содержимое переменной типа `template.HTML` не изменяется с учетом escape-последовательностей.
|
||||
Или можно использовать тип `template.HTML`. Содержимое переменной типа `template.HTML` не изменяется с учетом escape-последовательностей:
|
||||
|
||||
import "html/template"
|
||||
...
|
||||
|
||||
Reference in New Issue
Block a user