2013-08-12 26 views
12

In ASP.NET 4.5 gibt es einen neuen Namensraum System.Web.Security.AntiXss die Codierung Routinen aus Version 4.0 des AntiXssLibrary (http://www.asp.net/aspnet/overview/aspnet-45/whats-new#_Toc318097382) umfasst.System.Web.Security.AntiXss.AntiXssEncoder vs Microsoft.Security.Application.AntiXssEncoder

Die neueste Version von AntiXssLibrary ist 4.2.1.

Ich bin ziemlich verwirrt, welchen Typ ich für die Codierung der Ausgabe HTML in meinem neuen Projekt verwenden sollte: in System.Web.Security.AntiXss.AntiXssEncoder oder Microsoft.Security.Application.AntiXssEncoder von AntiXssLibrary gebaut. Kann mir jemand sagen, welcher Typ bevorzugt wird und warum?

Antwort

15

Der Name im Namespace System.Web. * Ist ein Klon des Namens im Microsoft.Security. * - Namespace, aber der System.Web-Wert ist für bessere Leistungsmerkmale etwas optimiert. Wir empfehlen das System.Web weiter zu gehen.

Wenn Sie die <httpRuntime encoderType> Einstellung gesetzt, wie bei http://www.asp.net/aspnet/overview/aspnet-45/whats-new#_Toc318097382 beschrieben, dann verwenden Sie einfach die integrierten in Codierung Routinen wie HttpUtility.HtmlEncode, und die Umsetzung wird durch die Anti-XSS-Bibliotheken zur Verfügung gestellt werden.

+0

Dank. Bedeutet es, dass ich diese System.Web-Klasse immer verwenden sollte, unabhängig von neuen Versionen der 'AntiXSS-Bibliothek'? –

+0

@AlexanderSimonov gibt es keinen wirklichen Unterschied zwischen den beiden. Sie werden beide zusammen aktualisiert. Verwenden Sie das, was bequemer ist. Das System.Web-System ist wartungsfähig (da es Teil von .NET Framework ist), also drängen wir Leute dazu, wenn sie es benutzen können. – Levi

+0

@Levi, Wer hat dir gesagt, dass System.Web die Zukunft ist? Vielen Dank. – Frank