Вебсправочник
Ваш первый сайт

Проверка состава публикации: какие файлы доступны посетителю

Перед загрузкой выпуска нужно определить, какие файлы действительно должны попасть в публичный каталог. Случайная публикация конфигурации или резервной копии опаснее отсутствующей картинки.

Назначение

Перед загрузкой выпуска нужно определить, какие файлы действительно должны попасть в публичный каталог. Случайная публикация конфигурации или резервной копии опаснее отсутствующей картинки.

Как это работает

Разделите исходники, результат сборки и закрытые настройки. Для простого статического сайта обычно достаточно HTML и выбранных ресурсов. Список разрешённых файлов удобнее бесконечного перечня нежелательных расширений.

Пример

project/
  source/          исходники
  release/         проверенные публичные файлы
    index.html
    assets/style.css
  private-backup/  не должен обслуживаться веб-сервером

# Названия каталогов сами по себе не настраивают запрет доступа.

Что должно получиться

Дерево помогает описать границу публикации. Корень веб-сервера должен указывать на нужный каталог, а закрытые файлы должны находиться вне него либо защищаться отдельными правилами.

Граница применения и частая ошибка

Не проверяйте защиту размещением настоящего пароля в тестовом файле. Одна блокировка расширения .sql не покрывает все архивы и переименованные копии. История Git и .env также не должны оказываться в открытом каталоге.

Самостоятельная проверка

Составьте перечень файлов выпуска и сравните его с фактической загрузкой. Для проверки отказа используйте безобидный контрольный файл в заранее закрытой тестовой области. Откройте неизвестный URL и убедитесь, что ответ не раскрывает содержимое каталога.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.