Lọc HTML độc hại, chống XSS online miễn phí
Loại bỏ script, iframe, form, event handler, style inline và link javascript: khỏi HTML không tin cậy trước khi hiển thị.
Kết quả
Bấm “Chạy” để xem kết quả.
Gửi HTML không tin cậy qua trường html (JSON hoặc form) hoặc dưới dạng body thô text/html, API trả về bản đã làm sạch trong trường html. Bộ lọc phân tích cú pháp HTML và xoá hẳn các thẻ nguy hiểm: script, style, iframe, object, embed, form, input, button, link, meta, base, frame và frameset.
Với các thẻ còn lại, API xoá mọi thuộc tính on* (onclick, onerror...), mọi thuộc tính style, và các giá trị href, src, xlink:href, action bắt đầu bằng javascript:, vbscript: hoặc data:text. Định dạng thông thường, link, ảnh và bảng được giữ nguyên. Đây cũng là bộ lọc mà API Markdown sang HTML sử dụng.
Body request tối đa 1 MB, trường html tối đa 2.000.000 ký tự. Bộ lọc hoạt động theo danh sách chặn, nên với nội dung đặc biệt nhạy cảm hãy kết hợp thêm Content Security Policy.
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/html-sanitize" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"html":"<p onclick=\"alert(1)\" style=\"color:red\">Hi <a href=\"javascript:alert(1)\">click</a></p><script>alert(2)</script><img src=\"x\" onerror=\"alert(3)\">"}'const res = await fetch('https://apibox.io.vn/v1/html-sanitize', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"html": "<p onclick=\"alert(1)\" style=\"color:red\">Hi <a href=\"javascript:alert(1)\">click</a></p><script>alert(2)</script><img src=\"x\" onerror=\"alert(3)\">"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/html-sanitize",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"html": "<p onclick=\"alert(1)\" style=\"color:red\">Hi <a href=\"javascript:alert(1)\">click</a></p><script>alert(2)</script><img src=\"x\" onerror=\"alert(3)\">"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/html-sanitize');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"html":"<p onclick=\\"alert(1)\\" style=\\"color:red\\">Hi <a href=\\"javascript:alert(1)\\">click</a></p><script>alert(2)</script><img src=\\"x\\" onerror=\\"alert(3)\\">"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
Những thẻ và thuộc tính nào bị loại bỏ?
Các thẻ script, style, iframe, object, embed, form, input, button, link, meta, base, frame, frameset; mọi event handler on*; mọi thuộc tính style; và URL javascript:, vbscript:, data:text trong href, src, xlink:href, action.
Link và ảnh có được giữ lại không?
Có. Thẻ <a href> và <img src> bình thường được giữ nguyên; chỉ các URL nguy hiểm và event handler như onerror bị xoá.
Có gửi HTML thô mà không cần JSON được không?
Được. Gửi HTML làm body của request POST với Content-Type: text/html.