Có thư viện dọn dẹp Html/Anti-Xss toàn diện cho .NET cũng có danh sách trắng được xác định hay không. Tôi biết rằng Microsofts Anti-Xss là một nơi tốt để bắt đầu, nhưng nó cần một danh sách trắng tốt cho các thẻ html và css được cho phép. Có ai biết gì không?Có .NET thực hiện HtmlPurifier (php)
Trả lời
Có gì sai với thư viện Anti-XSS của Microsoft (bạn đã đề cập)?
Họ đã hoàn toàn làm sạch HTML để lọc các ký tự dựa trên danh sách trắng, phân tích cú pháp HTML, lọc các nút dựa trên danh sách trắng và sau đó tạo lại HTML (an toàn). Bạn có thể thay đổi danh sách trắng (vì mã mở), nhưng tôi không chắc chắn bạn muốn.
Cách sử dụng rất đơn giản quá:
var sanitizedHtml = Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(inputHtml);
Theo MSDN (xem mục "Cho phép Restricted HTML Input") là cách tốt nhất để khử trùng đầu vào HTML là để gọi HttpUtility.HtmlEncode() trên đầu vào của bạn và sau đó chọn lọc thay thế cho mã hóa trên tất cả các thẻ danh sách trắng của bạn như vậy:
<%@ Page Language="C#" ValidateRequest="false"%>
<script runat="server">
void submitBtn_Click(object sender, EventArgs e)
{
// Encode the string input
StringBuilder sb = new StringBuilder(
HttpUtility.HtmlEncode(htmlInputTxt.Text));
// Selectively allow and <i>
sb.Replace("<b>", "<b>");
sb.Replace("</b>", "");
sb.Replace("<i>", "<i>");
sb.Replace("</i>", "");
Response.Write(sb.ToString());
}
</script>
Xem thêm this article.
Nội dung này đã lỗi thời và không còn được duy trì. 12 trong số 200 người dùng thấy nó hữu ích. –
- 1. HTMLPurifier có thực sự là chống đạn không?
- 2. Thực hiện OpenID với PHP
- 3. Thực hiện php với crontab
- 4. Thực hiện COMET với PHP
- 5. Thực hiện zlib tốt trong .NET?
- 6. Thực hiện SSH Server trong C# /. Net
- 7. Thực hiện Midi bên trong .Net
- 8. Thực hiện Enum.TryParse trong .NET 3.5
- 9. HTMLPurifier iframe Vimeo và Youtube video
- 10. Thực hiện SQL Script với .net thực thi
- 11. Thực hiện các quyền trong PHP
- 12. thực hiện bảo mật api php
- 13. Thực hiện một XQuery với PHP
- 14. Thực hiện dòng lệnh thông qua php?
- 15. php thực hiện một quá trình nền
- 16. php exec() không thực hiện lệnh
- 17. Lỗi triển khai thực hiện metaphone PHP
- 18. Thực hiện lệnh git thông qua PHP
- 19. cách thực hiện đăng nhập php hoặc phiên xác thực
- 20. .NET & ASP vs PHP
- 21. Thực hiện Lazy <T> cho .NET 3.5
- 22. Thực hiện chiến lược kết nối lại bằng Ruby Net
- 23. Các trình kết thúc .net luôn được thực hiện?
- 24. Cách tối ưu hóa để thực hiện RPC trong .Net
- 25. Làm cách nào để thực hiện lệnh Minitab qua .NET?
- 26. .NET 4.0 thực hiện nội bộ của loại
- 27. Hàm PHP crypt() trong .Net?
- 28. Làm cách nào để tìm ra ngoại lệ có thể bị hàm .NET thực hiện?
- 29. Thực hiện bất kỳ .NET ORM nào có sử dụng các hàm tạo "đúng" không?
- 30. Ruby: Có thể net/http thực hiện yêu cầu GET và POST cùng một lúc không?
Điều đó rất tuyệt! Tôi đã viết thuốc khử trùng cheesy của riêng tôi ... không còn nữa! – Chaddeus
Thật không may là quá trình phát hành Thư viện AntiXSS khá không thân thiện. Phiên bản 4.2.1 đã giới thiệu những thay đổi đột phá lớn bất ngờ, không có dòng thời gian cho bản sửa lỗi và không có nguồn cho ngã ba. Không phải thứ bạn muốn dựa vào. –