четверг, 8 мая 2008 г.

ASP.NET. Валидация и XSS-уязвимости

Для начала немного о том что такое XSS-уязвимости.  Это уязвимость на сервере, позволяющая внедрить в генерируемую страницу на сервере нежелательные скрипты (назовем их так).  

Для ASP.NET нужно обязательно проверять данные которые отправляет ваша форма.
Делать это можно так:

У директивы Page есть булевое свойство "ValidateRequest",  
которое проверяет все данные переданные вашей формой.         
 Вот как быть, если по каким-то причинам вам понадобится отключить проверку всей формы:

Например у вас есть форма, на ней текстовое поле TextBox1. Чтобы проверить его, достаточно получать данные так:

Server.HtmlEncode(TextBox1.Text);

        или

HttpUtility.HtmlEncode(TextBox1.Text);

Тем самым вы проверяете данные на XSS уязвимость. Если же в данных найдены запрещенные сиволы, они будут заменены. Например  <script>  бедет заменен на  &lt;script&gt;.

Рекомендую всегда проверять то что "уходит" на сервер, чтобы предотвратить XSS!


        

1 комментарий:

Olga73 комментирует...

Из-за чего комментарии к изменениям от 30.06.2008г. в ст.115 семейного кодекса рф? Неоднократно примеры обязывающих норм в финансовом праве на основе бюджетного кодекса законопроект ликвидация зао ткачевский ю.м. уголовная ответственность за клевету // законодательство. - 1999! И курсовая работа на тему закон как источник права, и закон альтернативной службе.