Sobes.tech
Senior
25

HTML-маркировка сақтап, XSS-тен қорғану үшін, пайдаланушының мәтінін DOM-ға қалай дұрыс енгізуге болады?

Сұралған компаниялар
Bitrix

AI-дан жауап

sobes.tech AI

Чтобы вставить пользовательский текст в DOM, сохранив HTML-разметку, но избежать XSS, нужно:

  1. Разрешить только безопасные теги и атрибуты, отфильтровав или экранировав опасные (например, <script>, inline event handlers).
  2. Использовать специализированные библиотеки для очистки HTML, например DOMPurify.

Пример с использованием DOMPurify (JavaScript):

import DOMPurify from 'dompurify';

const userInput = '<b>Привет</b> <script>alert("XSS")</script>';
const cleanHTML = DOMPurify.sanitize(userInput);
document.getElementById('output').innerHTML = cleanHTML;

В результате в DOM попадёт только безопасный HTML без вредоносных скриптов.