Mã hóa HTML là quá trình chuyển đổi các ký tự có ý nghĩa đặc biệt trong HTML (như <, >, ", &, v.v.) thành thực thể HTML tương ứng của chúng. Điều này đảm bảo rằng các ký tự này được hiển thị chính xác trên trang web thay vì được hiểu là các thẻ hoặc thuộc tính HTML. Ví dụ:
< trở thành <
> trở thành >
& trở thành &
Mã hóa HTML rất quan trọng để đảm bảo rằng văn bản chứa các ký tự đặc biệt được hiển thị chính xác và an toàn trong trình duyệt.
Để ngăn chặn các cuộc tấn công chèn HTML, chẳng hạn như Cross-Site Scripting (XSS), trong đó nội dung không đáng tin cậy có thể phá vỡ cấu trúc của trang hoặc đưa vào các tập lệnh độc hại.
Để đảm bảo rằng các ký tự đặc biệt (như <, >, &, ", v.v.) được hiển thị dưới dạng văn bản và không được trình duyệt diễn giải thành HTML hoặc JavaScript.
Để hiển thị nội dung do người dùng tạo một cách an toàn trong ứng dụng web mà không ảnh hưởng đến tính bảo mật hoặc bố cục.
Mã hóa HTML thường được thực hiện thông qua các hàm tích hợp trong nhiều ngôn ngữ lập trình:
Trong JavaScript, bạn có thể sử dụng các thư viện như DOMParser hoặc tạo hàm mã hóa của riêng mình.
Trong Python, các thư viện như html cung cấp các hàm như html.escape().
Nhiều khuôn khổ web và ngôn ngữ phía máy chủ cung cấp các hàm tích hợp để tự động mã hóa nội dung.
Quá trình này thường bao gồm việc thay thế các ký tự đặc biệt bằng các thực thể HTML tương ứng của chúng.
Khi hiển thị đầu vào của người dùng (như dữ liệu biểu mẫu, bình luận hoặc tin nhắn) trên trang web để ngăn không cho dữ liệu đó được hiểu là HTML hoặc JavaScript.
Khi nhúng các ký tự đặc biệt vào HTML (như dấu ngoặc kép hoặc dấu ngoặc nhọn) để đảm bảo chúng được hiển thị chính xác và không được coi là mã.
Khi làm việc với nội dung động có thể chứa các ký tự đặc biệt có khả năng phá vỡ định dạng HTML hoặc gây ra rủi ro bảo mật.
Khi truyền dữ liệu qua các trang web và đảm bảo nội dung được hiển thị an toàn mà không bị trình duyệt diễn giải HTML can thiệp.