Сведения о вопросе

Kimsanov

16:31, 8th August, 2020

Теги

c#   .net   php   asp.net    

PHPs htmlspecialcharacters эквивалент в .NET?

Просмотров: 457   Ответов: 5

PHP имеет отличную функцию под названием htmlspecialcharacters() , где вы передаете ей строку, и она заменяет все специальные символы HTML их безопасными эквивалентами, это почти один магазин для очистки ввода. Очень мило, правда?

Ну есть ли эквивалент в любой из библиотек .NET?

Если нет, то может ли кто-нибудь ссылаться на любые примеры кода или библиотеки, которые делают это хорошо?



  Сведения об ответе

crush

22:28, 5th August, 2020

Попробовать это.

var encodedHtml = HttpContext.Current.Server.HtmlEncode(...);


  Сведения об ответе

lesha

10:06, 26th August, 2020

  Сведения об ответе

LAST

18:46, 11th August, 2020

Не знаю, есть ли точная замена, но есть метод HtmlUtility.HtmlEncode , который заменяет специальные символы их эквивалентами HTML. Близкий родственник-это HtmlUtility.UrlEncode для рендеринга URL. вы также можете использовать элементы управления валидатора , такие как RegularExpressionValidator , RangeValidator и System.Text.RegularExpression.Regex , чтобы убедиться, что вы получаете то, что хотите.


  Сведения об ответе

nYU

13:48, 12th August, 2020

На самом деле, вы можете попробовать этот метод:

HttpUtility.HtmlAttributeEncode()

Почему? Сославшись на странице HtmlAttributeEncode по MSDN документы :

Метод HtmlAttributeEncode преобразует только кавычки ("), амперсанды (&) и левые угловые скобки (<) в эквивалентные символьные сущности. Это значительно быстрее, чем метод HtmlEncode.


  Сведения об ответе

piter

12:55, 24th August, 2020

В дополнение к приведенным ответам: При использовании механизма представления Razor (который является механизмом представления по умолчанию в ASP.NET), использование символа '@' для отображения значений автоматически кодирует отображаемое значение. Это означает, что вам не нужно использовать кодировку.

С другой стороны, если вы не хотите, чтобы текст был закодирован, вы должны указать это явно (используя @Html.Raw ). Что, на мой взгляд, хорошо с точки зрения безопасности.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться