Книга: ASP.NET MVC Framework

Кодирование текста и атрибутов

Кодирование текста и атрибутов

При выводе любого текста на страницу, либо в качестве значений атрибутов тегов необходимо обеспечить соответствие этого текста HTML-формату, заменив HTML-символы на их коды, чтобы браузер не интерпретировал выводимый текст как инструкции разметки страницы.

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

Для кодирования предназначены два вспомогательных метода — Html.AttributeEncode() и Html.Encode().

Пример использования Html.AttributeEncode():

<div someattr="<%= Html.AttributeEncode("<b>Teкст</b>")"></div>

Результирующая разметка:

<div someattr="&lt;b>Teкст&lt;/b>"></div>

Пример использования Html.Encode():
<div><%= Html.Encode("<b>Текст</b>")</div>

Результирующая разметка:

<div>&lt;b&gt;TeKCT&lt;/b&gt;"</div>

Примечание

Важно отметить, что методы Html.AttributeEncode() и Html.Encode() не заменяют символ апострофа (') на соответствующий HTML-код, поскольку не рекомендуется использовать апострофы для атрибутов тегов на HTML-страницах, хотя это и допустимо с точки зрения HTML-стандарта.

**********************************

Оглавление книги


Генерация: 1.732. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз