Какие знаешь методы защиты от веб-уязвимостей

«Какие знаешь методы защиты от веб-уязвимостей» — вопрос из категории Безопасность, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Вот основные методы защиты:

  1. XSS - экранирование пользовательского ввода, Content Security Policy (CSP), HttpOnly куки:
// Экранирование
function escapeHtml(str) {
  return str.replace(/&/g, "&")
            .replace(/</g, "&lt;")
            .replace(/>/g, "&gt;");
}
  1. CSRF - токены в формах, SameSite атрибут для кук:
<input type="hidden" name="_csrf" value="токен_с_сервера">
  1. SQL-инъекции - параметризованные запросы, ORM

  2. CORS - настройка заголовков на сервере:

Access-Control-Allow-Origin: https://trusted.com
  1. Clickjacking - заголовок X-Frame-Options: DENY

  2. Хранение данных - хеширование паролей (bcrypt), шифрование

  3. HTTPS - обязательное использование для передачи данных

  4. Защита API - лимиты запросов, JWT аутентификация

  5. Заголовки безопасности:

X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block