Thực thể HTML
Thoát các ký tự đánh dấu để chúng hiển thị như văn bản, hoặc giải mã ngược lại.
- Chạy ngay trên trình duyệt của bạn — văn bản của bạn không bao giờ được gửi đi đâu cả
- Không cần đăng ký, không có hạn mức, dùng miễn phí bao nhiêu lần tùy thích
Cách hoạt động
Đưa văn bản không đáng tin cậy vào trang web mà không thoát ký tự chính là cách xảy ra lỗi cross-site scripting. Việc mã hóa chuyển các ký tự mà trình duyệt coi là mã đánh dấu thành thực thể, để chúng được hiển thị chứ không bị thực thi.
Những gì được mã hóa
Năm ký tự quan trọng: dấu và, dấu nhỏ hơn, dấu lớn hơn, dấu nháy kép và dấu nháy đơn. Dấu và phải được mã hóa trước, nếu không mọi thứ theo sau nó sẽ bị mã hóa hai lần.
Giải mã
Việc giải mã đưa các thực thể có tên và thực thể dạng số trở lại thành ký tự bằng trình phân tích của trình duyệt thay vì bảng tra cứu, nên toàn bộ tập thực thể đều được xử lý đúng.
Chính xác những gì được mã hóa
Việc mã hóa thay thế năm ký tự: & thành &, < thành <, > thành >, " thành " và ' thành '. Như vậy là đủ để hiển thị văn bản an toàn bên trong HTML và bên trong các thuộc tính đặt trong dấu nháy. Chữ có dấu và emoji được giữ nguyên, vì các trang UTF-8 hiển thị trực tiếp được chúng.
Giải mã
Việc giải mã hiểu mọi thực thể có tên mà HTML định nghĩa, chẳng hạn é, — và , cùng các thực thể dạng số thập phân hoặc hex (é, é), vì nó dùng chính trình phân tích HTML của trình duyệt của bạn.
Thực thể HTML — câu hỏi thường gặp
Công cụ này có giúp trang web của tôi an toàn trước XSS không?
Thoát ký tự đầu ra là một phần cần thiết, nhưng sự an toàn phụ thuộc vào việc thoát đúng ngữ cảnh. Hãy dùng chức năng thoát ký tự của framework nếu bạn có.
Nó mã hóa những ký tự nào?
Dấu và (&), dấu nhỏ hơn, dấu lớn hơn, dấu nháy kép và dấu nháy đơn — những ký tự mà trình duyệt sẽ đọc thành mã đánh dấu nếu không được mã hóa.
Văn bản của tôi có bị tải lên không?
Không. Việc mã hóa chạy ngay trong trang.