PHPs htmlspecialcharacters Gegenwert in .NET?
PHP hat eine tolle Funktion namens htmlspecialcharacters(), wo Sie übergeben Sie einen string und ersetzt alle HTML-Sonderzeichen mit Ihr Sicheres Mittel, es ist fast ein one-stop-shop für Desinfektion-Eingang. Sehr schön, richtig?
Nun gibt es ein äquivalent in einem der .NET-Bibliotheken?
Wenn nicht, kann jemand link, um alle code-Beispiele oder Bibliotheken, die dies tun gut?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen.
System.Web.HttpUtility.HtmlEncode(string)
Weiß nicht, ob es einen genauen Ersatz, aber es ist eine Methode
HtmlUtility.HtmlEncode
ersetzt Sonderzeichen mit Ihren HTML-Entsprechungen. Ein enger verwandter istHtmlUtility.UrlEncode
für die Darstellung der URL ist. Sie können auch die validator-controls wieRegularExpressionValidator
,RangeValidator
, undSystem.Text.RegularExpression.Regex
um sicherzustellen, dass Sie bekommen, was Sie wollen.Eigentlich, möchten Sie vielleicht versuchen Sie diese Methode:
Warum? Unter Berufung auf die HtmlAttributeEncode Seite auf MSDN docs:
In Ergänzung zu den gegebenen Antworten:
Bei der Verwendung von Razor view engine (das ist die Standard-Ansicht-engine in ASP.NET), mit dem '@' Zeichen zum anzeigen von Werten wird automatisch Kodieren Sie den angezeigten Wert. Dies bedeutet, dass Sie nicht haben, um die Verwendung der Kodierung.
Auf der anderen Seite, wenn Sie nicht wollen, dass der text kodiert wird, müssen Sie angeben, dass explizit (mithilfe @Html.Raw). Das ist, meiner Meinung nach, eine gute Sache aus der Sicht der Sicherheit.