Công cụ mã hóa/giải mã HTML
Chuyển đổi ký tự đặc biệt thành thực thể HTML để ngăn chặn tấn công XSS
Tham khảo thực thể HTML phổ biến
| Ký tự | Thực thể có tên | Thập phân | Thập lục phân | Mô tả |
|---|---|---|---|---|
| < | < | < | < | Dấu nhỏ hơn (bắt đầu thẻ) |
| > | > | > | > | Dấu lớn hơn (kết thúc thẻ) |
| & | & | & | & | Dấu và (bắt đầu thực thể) |
| " | " | " | " | Dấu ngoặc kép |
| ' | ' | ' | ' | Dấu nháy đơn/dấu lược |
| |   |   | Khoảng trắng không ngắt | |
| © | © | © | © | Ký hiệu bản quyền |
| ® | ® | ® | ® | Ký hiệu thương hiệu đã đăng ký |
| ™ | ™ | ™ | ™ | Ký hiệu thương hiệu |
Về mã hóa HTML
Mã hóa HTML là quá trình chuyển đổi ký tự đặc biệt thành thực thể HTML. Một số ký tự có ý nghĩa đặc biệt trong HTML (như < và >), và việc sử dụng chúng trực tiếp có thể phá vỡ cấu trúc trang hoặc gây ra vấn đề bảo mật.
Bằng cách chuyển đổi các ký tự này thành thực thể HTML tương ứng, trình duyệt có thể hiển thị chúng một cách chính xác mà không diễn giải chúng như là mã HTML. Đây là một biện pháp bảo mật quan trọng trong phát triển web để ngăn chặn các cuộc tấn công XSS (Cross-Site Scripting).
Lưu ý bảo mật: Luôn mã hóa HTML đầu vào của người dùng trước khi hiển thị trên trang web. Đây là biện pháp bảo mật cơ bản để ngăn chặn tấn công XSS.
Trường hợp sử dụng phổ biến
- Ngăn chặn tấn công XSS (Cross-Site Scripting)
- Hiển thị ký tự đặc biệt và ký hiệu trong HTML
- Bao gồm dấu ngoặc kép một cách an toàn trong giá trị thuộc tính
- Hiển thị ví dụ mã HTML mà không thực thi chúng
- Xử lý đầu vào của người dùng chứa ký tự đặc biệt
Giải thích các loại thực thể
Thực thể có tên
Sử dụng tên dễ nhớ, khả năng đọc tốt, nhưng không phải tất cả ký tự đều có thực thể có tên
< > &
Thực thể thập phân
Sử dụng điểm mã Unicode của ký tự (thập phân), hoạt động cho tất cả ký tự
< > &  
Thực thể thập lục phân
Sử dụng điểm mã Unicode của ký tự (thập lục phân), nhất quán với CSS và JavaScript
< > &