Chuyển đến nội dung

Mã hóa/Giải mã HTML

Mã hóa/Giải mã HTML

Mã hóa/Giải mã HTML: Hỗ trợ thoát và bỏ thoát thực thể HTML, xử lý ký tự đặc biệt và thẻ. Tự động phát hiện định dạng thực thể được đặt tên và số, ngăn chặn tấn công XSS, phù hợp cho hiển thị đầu vào người dùng, ví dụ mã và xử lý nội dung an toàn.

Mã hóa/Giải mã HTML

Bắt đầu nhanh

1
Nhập nội dung (HTML hoặc văn bản đã escape) vào ô nhập.
2
Chọn Mã hóa hoặc Giải mã.
3
Nhấn nút để chuyển đổi; kết quả sẽ xuất hiện trong cùng textarea.
4
Nhấn Sao chép để tái sử dụng kết quả.

Tình huống sử dụng phổ biến

Bình luận người dùng

escape nội dung do người dùng gửi để ngăn tấn công XSS.

Bài viết blog

hiển thị ví dụ mã HTML trong bài viết.

Bài viết diễn đàn

hiển thị an toàn nội dung do người dùng tạo.

Tin nhắn chat

ngăn mã độc lan truyền qua tính năng trò chuyện.

Dữ liệu form

xử lý và hiển thị dữ liệu gửi từ form.

Hiển thị mã

trình bày đoạn mã HTML/JavaScript trên trang web.

Tình huống bổ sung

HTML entities, escape HTML và unescape HTML cũng có thể được xử lý trong cùng một luồng để bạn kiểm tra kết quả nhanh hơn trước khi sao chép hoặc xuất ra.

Quy tắc escape & entity

Ký tự thường gặp: < > & " ' (dấu / thường không bắt buộc, tùy ngữ cảnh).
Định dạng entity: các ký tự đặc biệt được chuyển thành dạng &entity; hoặc &#code;, ví dụ < thành < hoặc <.
Escape thuộc tính: dấu nháy được chuyển thành ", bảo vệ giá trị thuộc tính HTML.
Bảo vệ script: thẻ <script> sẽ được escape để ngăn chặn tiêm JavaScript.
Ví dụ, viết <div> để tránh bị trình duyệt parse thành thẻ HTML thực.

Gợi ý sử dụng

Escape theo ngữ cảnh: chọn chiến lược escape phù hợp với vị trí output.
Xử lý phía server: các bước escape quan trọng nên thực hiện ở phía server.
Kiểm tra lại: xác minh output sau khi escape để đảm bảo không bỏ sót.
Dùng thư viện: trong production nên dùng thư viện escape trưởng thành thay vì tự xử lý.
Kiểm tra xem trước: sau khi escape, xem hiển thị thực tế trong console trình duyệt.

Giới hạn & khả năng tương thích

Không phải sanitizer: không xóa script/event/protocol nguy hiểm; cần dùng kèm sanitize nội dung.
Bảo vệ chưa đầy đủ: chỉ escape không thể ngăn mọi rủi ro; cần kết hợp các lớp bảo vệ khác.
Phụ thuộc ngữ cảnh: các vị trí HTML, thuộc tính, JavaScript, CSS cần chiến lược escape khác nhau.
Hiệu năng: với văn bản rất lớn, xử lý có thể được đơn giản hóa để giữ trang mượt; hãy cân nhắc tách nhỏ.

Quản lý phiên

Nội dung hiện tại có thể được thay thế, xóa và xử lý lại bất cứ lúc nào trước khi xuất kết quả cuối cùng.

Câu hỏi thường gặp

5

Tiếp tục bước tiếp theo với các công cụ liên quan này.