Như chúng ta đã biết, các cuộc tấn công XSS rất nguy hiểm và thực sự dễ dàng thực hiện . Các khung khác nhau giúp dễ dàng mã hóa HTML, giống như ASP.NET MVC:
<%= Html.Encode("string"); %>
Nhưng điều gì xảy ra khi khách hàng của bạn yêu cầu họ có thể tải lên nội dung của họ trực tiếp từ tài liệu Microsoft Word?
Đây là kịch bản: Mọi người có thể sao chép và dán nội dung từ Microsoft word vào trình soạn thảo WYSIWYG (trong trường hợp này là tinyMCE ), và sau đó thông tin đó được đăng lên một trang web.
Trang web này là công khai, nhưng chỉ các thành viên của tổ chức đó sẽ có quyền truy cập để đăng thông tin lên một trang web.
Làm thế nào để tôi xử lý các yêu cầu này một cách an toàn? Hiện tại không có kiểm tra nào về những gì khách hàng đăng (vì chỉ người dùng 'đáng tin cậy' mới có thể đăng), nhưng tôi không đặc biệt hài lòng với điều đó và muốn khóa nó thêm trong trường hợp tài khoản bị hack.
Phương pháp khái niệm duy nhất mà tôi biết rằng đáp ứng các yêu cầu này là lập danh sách trắng các thẻ HTML và để chúng đi qua . Có cách nào khác không? Nếu không, cách an toàn để cho phép người dùng lưu trữ đầu vào trong Cơ sở dữ liệu dưới bất kỳ hình thức nào, nhưng chỉ hiển thị nó được mã hóa chính xác và tước các thẻ xấu?