Встречается на собеседованиях • сегодня

Как защититься от вектора атаки для XSS

Для защиты от XSS атак используйте следующие методы:

  1. Экранирование данных (HTML-entities):
javascript
function escapeHtml(text) {
  const div = document.createElement('div');
  div.textContent = text;
  return div.innerHTML;
}
  1. Content Security Policy (CSP) - ограничивает источники исполняемого кода:
text
Content-Security-Policy: default-src 'self'
  1. HttpOnly и Secure флаги для кук:
javascript
Set-Cookie: sessionId=123; HttpOnly; Secure
  1. Валидация и санитизация пользовательского ввода:
  • Используйте DOMPurify для очистки HTML:
javascript
import DOMPurify from 'dompurify';
const clean = DOMPurify.sanitize(userInput);
  1. Кодирование данных перед вставкой:
  • В React используйте JSX, который автоматически экранирует данные
  • В других фреймворках используйте соответствующие методы (v-html в Vue, [innerHTML] в Angular)
  1. Отказ от innerHTML в пользу textContent там, где это возможно
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы