Для начала немного о том что такое XSS-уязвимости. Это уязвимость на сервере, позволяющая внедрить в генерируемую страницу на сервере нежелательные скрипты (назовем их так).
Для ASP.NET нужно обязательно проверять данные которые отправляет ваша форма.
Делать это можно так:
У директивы Page есть булевое свойство "ValidateRequest",
которое проверяет все данные переданные вашей формой.
Вот как быть, если по каким-то причинам вам понадобится отключить проверку всей формы:
Например у вас есть форма, на ней текстовое поле TextBox1. Чтобы проверить его, достаточно получать данные так:
Server.HtmlEncode(TextBox1.Text);
или
HttpUtility.HtmlEncode(TextBox1.Text);
Тем самым вы проверяете данные на XSS уязвимость. Если же в данных найдены запрещенные сиволы, они будут заменены. Например <script> бедет заменен на <script>.
Рекомендую всегда проверять то что "уходит" на сервер, чтобы предотвратить XSS!
четверг, 8 мая 2008 г.
суббота, 3 мая 2008 г.
Условные комментарии IE
Тот кто в жизни создавал кроссбраузерную верстку, сталкивался, когда один из браузеров показывает не так как хотелось бы... Вот как обойти это для Internet Explorer.
Существуют так называемые «условные комментарии» для Internet Explorer. Выглядят они как обычные комментарии, но с добавлением некоторых команд. Приведу пример. Скажем нам нужно вывести заголовок H1 только в Internet Explorer 6-ой версии. Выглядеть это будет так:
<!--[if IE 6]>
<h1>Заголовок виден только в 6-ой версии IE</h1>
<![endif]>
Также возможно использовать операторы. Вот список возможных операторов:
! - отрицание
lt - меньше чем
lte - меньше или равно
gt - больше чем
gte - больше или равно
Пример. Вставить CSS стили в том случае если версия IE миньше или равна Internet Explorer 6
<!--[if lte IE 6]>
<link href="ie.css" rel="stylesheet" type="text/css" />
<![endif]>
Надеюсь, «условный комментарий» <!--[if IE 8]> писать не придется никогда :)
Существуют так называемые «условные комментарии» для Internet Explorer. Выглядят они как обычные комментарии, но с добавлением некоторых команд. Приведу пример. Скажем нам нужно вывести заголовок H1 только в Internet Explorer 6-ой версии. Выглядеть это будет так:
<!--[if IE 6]>
<h1>Заголовок виден только в 6-ой версии IE</h1>
<![endif]>
Также возможно использовать операторы. Вот список возможных операторов:
! - отрицание
lt - меньше чем
lte - меньше или равно
gt - больше чем
gte - больше или равно
Пример. Вставить CSS стили в том случае если версия IE миньше или равна Internet Explorer 6
<!--[if lte IE 6]>
<link href="ie.css" rel="stylesheet" type="text/css" />
<![endif]>
Надеюсь, «условный комментарий» <!--[if IE 8]> писать не придется никогда :)
Подписаться на:
Сообщения (Atom)