Một trong những biện pháp phòng chống tấn công Cross-Site Scripting (XSS) cơ bản nhất là HTML-encode (mã hoá thực thể HTML) dữ liệu do người dùng nhập trước khi hiển thị lại trên trang web, nhằm ngăn trình duyệt diễn giải nhầm dữ liệu đó thành thẻ HTML hay mã JavaScript.
Cho một chuỗi s là nội dung người dùng nhập (có thể chứa các ký tự đặc biệt &, <, >, ", '), hãy viết chương trình mã hoá chuỗi này theo quy tắc HTML entity escaping sau, áp dụng tuần tự theo đúng thứ tự:
& → &< → <> → >" → "' → 'Lưu ý thứ tự thay thế: phải thay & trước tiên, nếu không các entity vừa sinh ra (chứa &) sẽ bị mã hoá lặp lần nữa.
Ví dụ: Với input <script>alert('XSS')</script>, output là <script>alert('XSS')</script>.
Một dòng duy nhất chứa chuỗi s (có thể rỗng, độ dài tối đa 1000 ký tự, có thể chứa khoảng trắng và ký tự Unicode).
In ra một dòng duy nhất là chuỗi đã được HTML-encode theo đúng quy tắc trên.
Ví dụ:
Đầu vào:
Đầu ra:
Đầu vào:
<script>alert('XSS')</script>Đầu ra:
<script>alert('XSS')</script>
Đang tải editor...