Sobes.tech
Back to questions
Senior
3

Какие символы нужно экранировать для защиты от XSS-атак?

Companies where asked
Bitrix

Answer from AI

sobes.tech AI

Для защиты от XSS-атак необходимо экранировать специальные символы, которые могут быть интерпретированы браузером как HTML или JavaScript. Основные символы для экранирования:

  • & (амперсанд) → &
  • < (меньше) → &lt;
  • > (больше) → &gt;
  • " (двойная кавычка) → &quot;
  • ' (одинарная кавычка) → &#39;

Экранирование этих символов предотвращает внедрение вредоносного кода в HTML или атрибуты.

Пример на JavaScript:

function escapeHTML(str) {
  return str.replace(/&/g, '&amp;')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;')
            .replace(/"/g, '&quot;')
            .replace(/'/g, '&#39;');
}

const userInput = '<script>alert("XSS")</script>';
const safeString = escapeHTML(userInput);
console.log(safeString); // &lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;

Также важно использовать Content Security Policy (CSP) и избегать вставки непроверенного HTML.