Проверка состава публикации: какие файлы доступны посетителю
Перед загрузкой выпуска нужно определить, какие файлы действительно должны попасть в публичный каталог. Случайная публикация конфигурации или резервной копии опаснее отсутствующей картинки.
Назначение
Перед загрузкой выпуска нужно определить, какие файлы действительно должны попасть в публичный каталог. Случайная публикация конфигурации или резервной копии опаснее отсутствующей картинки.
Как это работает
Разделите исходники, результат сборки и закрытые настройки. Для простого статического сайта обычно достаточно HTML и выбранных ресурсов. Список разрешённых файлов удобнее бесконечного перечня нежелательных расширений.
Пример
project/
source/ исходники
release/ проверенные публичные файлы
index.html
assets/style.css
private-backup/ не должен обслуживаться веб-сервером
# Названия каталогов сами по себе не настраивают запрет доступа.
Что должно получиться
Дерево помогает описать границу публикации. Корень веб-сервера должен указывать на нужный каталог, а закрытые файлы должны находиться вне него либо защищаться отдельными правилами.
Граница применения и частая ошибка
Не проверяйте защиту размещением настоящего пароля в тестовом файле. Одна блокировка расширения .sql не покрывает все архивы и переименованные копии. История Git и .env также не должны оказываться в открытом каталоге.
Самостоятельная проверка
Составьте перечень файлов выпуска и сравните его с фактической загрузкой. Для проверки отказа используйте безобидный контрольный файл в заранее закрытой тестовой области. Откройте неизвестный URL и убедитесь, что ответ не раскрывает содержимое каталога.