Установка и настройка
Как проверить защиту приватных фотографий
Недостаточно спрятать карточку из каталога: прямые ссылки на оригиналы и миниатюры должны учитывать доступ. Проверка приватных медиа гостем и владельцем.
На этой странице
Видимость страницы и файла различается
Фотография физически хранится на диске, а карточка формируется CMS. Если сервер раздаёт uploads напрямую, скрытие карточки из каталога не защищает уже известный адрес картинки. Поэтому медиашлюз проверяет объект, контейнер и публичность поля перед чтением файла.
Важно учитывать и производные версии: миниатюра или WebP-вариант могут содержать ту же чувствительную информацию. Защита только оригинального JPEG оставляет доступ к уменьшенной копии.
Выполните два сценария
Создайте учебную публикацию с фотографиями, запишите URL оригинала и миниатюры, затем сделайте объект приватным. Откройте каждый адрес в отдельной гостевой сессии. Отказ должен происходить на сервере; отсутствие ссылки в HTML не является достаточной проверкой.
После входа владельцем проверьте разрешённый просмотр и невозможность редактировать чужой объект. Например, смена числового ID в форме не должна позволять перепривязать чужой файл к своей публикации.
Проверьте серверную конфигурацию
Правила Apache и Nginx должны направлять защищаемые uploads через предусмотренный механизм, а не отдавать существующий файл раньше проверки CMS. Кэш или CDN также не должен сохранять приватный ответ как общий публичный ресурс.
После изменения видимости повторите проверку в новой сессии, чтобы не полагаться на ранее загруженную картинку браузера. Служебные исходники и резервные копии не должны находиться в uploads. Приватность является свойством всей цепочки от определения поля до HTTP-ответа, а не только одного флажка в карточке администратора.
Продолжить работу
Проверьте процедуру на отдельной копии сайта. Сопоставьте задачу с возможностями ядра. Другой материал этого раздела: Как проверить восстановление резервной копии.
