2013-08-12 60 views
12

Trong ASP.NET 4.5 có một không gian tên mới System.Web.Security.AntiXss bao gồm mã hóa thường trình từ phiên bản 4.0 của AntiXssLibrary (http://www.asp.net/aspnet/overview/aspnet-45/whats-new#_Toc318097382).System.Web.Security.AntiXss.AntiXssEncoder vs Microsoft.Security.Application.AntiXssEncoder

Phiên bản mới nhất của AntiXssLibrary là 4.2.1.

Tôi khá bối rối về loại nên sử dụng để mã hóa HTML đầu ra trong dự án mới của tôi: được xây dựng trong System.Web.Security.AntiXss.AntiXssEncoder hoặc Microsoft.Security.Application.AntiXssEncoder từ AntiXssLibrary. Bất cứ ai có thể cho tôi biết loại được ưa thích để sử dụng và tại sao?

Trả lời

15

Một trong không gian tên System.Web. * Là một bản sao của một trong không gian tên Microsoft.Security. *, Nhưng System.Web là một chút tinh chỉnh cho các đặc tính hiệu suất tốt hơn. Chúng tôi khuyên bạn nên sử dụng System.Web.

Nếu bạn đặt cài đặt <httpRuntime encoderType> như được mô tả tại http://www.asp.net/aspnet/overview/aspnet-45/whats-new#_Toc318097382, thì bạn chỉ có thể sử dụng các quy trình mã hóa được tích hợp sẵn như HttpUtility.HtmlEncode và việc triển khai sẽ được cung cấp bởi thư viện Anti-XSS.

+0

Cảm ơn. Nó có nghĩa là tôi nên luôn luôn sử dụng lớp System.Web này bất kể phiên bản mới của thư viện 'AntiXSS' là gì? –

+0

@ AlexanderSimonov không có sự khác biệt thực sự giữa hai. Cả hai đều được cập nhật cùng nhau. Sử dụng cái nào thuận tiện hơn. System.Web có thể sử dụng được (vì nó là một phần của .NET Framework), vì vậy chúng tôi đang thúc đẩy mọi người hướng tới nó nếu họ có thể sử dụng nó. – Levi

+0

@Levi, Ai nói với bạn rằng System.Web là một trong những đi về phía trước? Cảm ơn bạn. – Frank