337просмотров
87.1%от подписчиков
13 марта 2026 г.
Score: 371
Защита от XSS В последнее время в браузеры активно завозят Trusted Types и HTML Sanitizer API. Оба очень полезны для фильтрации содержимого, вставляемого напрямую в HTML. HTML Sanitizer API // Создаём санитайзер с разрешением только для <b> и <i> тегов const sanitizer = new HTMLSanitizer({ allowElements: ['b', 'i'] }); const unsafeHTML = '<div onclick="alert('XSS')">Hello <b>World</b></div>'; // Очищаем небезопасный код const safeFragment = sanitizer.sanitizeFor('div', unsafeHTML); document.body.appendChild(safeFragment); // Hello <b>World</b> Trusted Types API import DOMPurify from 'https://cdn.jsdelivr.net/npm/dompurify@3.3.1/+esm'; const policy = trustedTypes.createPolicy('myPolicy', { // Очищаем небезопасный HTML код при помощи библиотеки dompurify createHTML: (input) => { return DOMPurify.sanitize(input); }, // JavaScript код и URL'ы оставляем как есть createScript: input => input, createScriptURL: url => url }); const unsafe = '<img src="x" onerror="alert(1)>"'; document.body.innerHTML = unsafe; // небезопасно, <img src="x" onerror="alert('XSS')"> document.body.innerHTML = policy.createHTML(unsafe); // безопасно, <img src="x"> ⚙️ Поддержка браузерами (HTML Sanitizer, Trusted Types)
337
просмотров
1310
символов
Нет
эмодзи
Нет
медиа

Другие посты @fe_notes

Все посты канала →