Escape HTML trong javascript
Escape string trong javascript, html là hành động ta thay thế một số ký tự đặc biệt với HTML character và phòng tránh XSS attack.
Các ký tự cần escape là "&", "<", ">", '"', và "'"
Cùng xem chuỗi dưới đây, nếu không được escape và in ra trực tiếp bạn sẽ nhìn thấy một alert thay vì đọc được đoạn code này.
<script> alert(123) </script>
Chúng ta có thể escape HTML bằng cách dùng hàm replaceAll
của String.
function escape(string) {
return string.replaceAll('&', '&')
.replaceAll('<', '<')
.replaceAll('>', '>')
.replaceAll('"', '"')
.replaceAll("'", ''')
}
escape('<script> alert(123) </script>') // '<script> alert(123) </script>'
Unescape
Unescape HTML là quá trình ngược lại với việc escape.
function unescape(string) {
return string.replaceAll('&', '&')
.replaceAll('<', '<')
.replaceAll('>', '>')
.replaceAll('"', '"')
.replaceAll(''', "'")
}
unescape('<script> alert(123) </script>')