Технические

Что такое заголовки безопасности и зачем они нужны вашему сайту

Короткое объяснение без технического жаргона о небольших серверных настройках, которые незаметно защищают каждого посетителя.

Что это

Каждый раз, когда браузер загружает вашу страницу, сервер отправляет в ответ не только саму страницу, но и короткий список инструкций, которые нигде не отображаются, — их называют «заголовками» (headers). Некоторые заголовки существуют исключительно ради безопасности: они говорят браузеру что-то вроде «не пытайся сам угадывать тип файла» или «не позволяй другому сайту встраивать мою страницу в невидимый фрейм». Они никак не влияют на внешний вид сайта — они полностью невидимы для посетителя и работают тихо в фоновом режиме.

Почему это важно

Без них браузеры возвращаются к более старому, снисходительному поведению по умолчанию, на которое как раз и рассчитаны некоторые виды атак — например, обман браузера, заставляющий его запускать файл не тем способом, каким следует, или незаметное встраивание вашей страницы входа в чужой сайт для кражи введённых данных. Отсутствие заголовков безопасности не обязательно сломает что-то заметное прямо сейчас, но это одна из первых вещей, которую проверит внимательный к безопасности посетитель, потенциальный партнёр по бизнесу или автоматический сканер — и «ничего из этого не настроено» читается как признак сайта, который ещё не доделали до конца.

Как это исправить

  1. Определите, как размещён ваш сайт: статический хостинг вроде Netlify, Vercel или Cloudflare Pages; обычный хостинг с cPanel; или собственный сервер.
  2. На Netlify или Cloudflare Pages: добавьте обычный текстовый файл с именем _headers в опубликованную папку сайта со строками вроде X-Content-Type-Options: nosniff — обе платформы применяют его автоматически, без написания кода.
  3. На Vercel: добавьте файл vercel.json с разделом headers, перечисляющим те же имена и значения заголовков — в документации Vercel есть готовый пример именно для этого случая.
  4. На обычном хостинге или собственном сервере обратитесь в поддержку хостинга (или поищите «[название хостинга] добавить заголовки безопасности») — у большинства есть короткий конкретный ответ для их панели управления.
  5. Как минимум добавьте X-Content-Type-Options: nosniff и Referrer-Policy: strict-origin-when-cross-origin — они безопасны, просты и подходят практически любому небольшому сайту.
  6. После этого повторно запустите проверку Launch Readiness, чтобы убедиться, что заголовки теперь обнаруживаются.

Проверьте, есть ли эта проблема на вашем сайте

Launch Readiness проверяет ваш сайт на эту и ещё ~50 проблем перед запуском за несколько секунд — бесплатно, без регистрации.

Запустить бесплатную проверку