Что делает новое <%: %> кодирование синтаксиса в Visual Studio 2010 делает?

Последняя запись в блоге Scott Hanselman о новых функциях VS 2010 упоминает "новое <%: %> кодирование синтаксиса". Что это делает? Поиск этих тегов с Google, кажется, не возможен...

Спасибо,

Adrian

6
задан Adrian Grigore 16 April 2010 в 08:44
поделиться

5 ответов

Он выводит HTML с закодированными объектами. Это сокращение от

<%= HttpUtility.HtmlEncode("Some string") %>

. Более того, его можно расширить для выполнения дополнительных интересных вещей, таких как защита вывода от XSS, как продемонстрировал Фил Хаак .

Фил Хаак , Скотт Гатри и Скотт Хансельман много писали в блоге о новых и улучшенных функциях .NET 4.

8
ответ дан 8 December 2019 в 17:19
поделиться

Я думаю, это гарантирует, что текст, содержащийся внутри, будет очищен, так что java-скрипт не может быть вставлен на страницу

, поэтому, если у вас есть

userdata = alert ("textstring")

<%= userdata %>

отобразит окно сообщения на странице

<%: userdata %>

отобразит текст 'alert ("textstring")'

1
ответ дан 8 December 2019 в 17:19
поделиться

Он автоматически закодирует HTML-код заключенного выражения.

Итак ...

<%: yourString %>

... эквивалентно ...

<%= HttpUtility.HtmlEncode(yourString) %>

См. Следующую ссылку MSDN для получения дополнительной информации:

4
ответ дан 8 December 2019 в 17:19
поделиться

Его цель - помочь предотвратить атаки XSS посредством кодирования HTML.

0
ответ дан 8 December 2019 в 17:19
поделиться

На самом деле этот поиск Google привел меня к объяснению Скотта Гатри .

1
ответ дан 8 December 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: