Подтвердить что ты не робот

В PHP есть htmlspecialcharacters?

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

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

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

4b9b3361

Ответ 1

Попробуйте это.

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

Ответ 3

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

Ответ 4

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

HttpUtility.HtmlAttributeEncode()

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

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

Ответ 5

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

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