Хорошо, желаемый (возможно, невозможный?) Сценарий следующий:
1) каждый может загружать изображения в папку
2) только администратор, через интерфейс веб-администратора / обычную, защищенную паролем панель администратора может это увидеть
Я думаю, это невозможно, если я не хранил изображения непосредственно в базе данных (как тип BLOB) и не показывал их внутри панели администратора (что, по-моему, снижает производительность).
Итак, что я мог сделать, а) за исключением того, чтобы поместить пустой индексный файл в папку для загрузки (уже сделано), но я думаю, что есть способы угадать / получить имена файлов
б) и, может быть, добавьте некоторую защиту .htaccess (что было бы вашим советом?)
Опять же, загрузка – это часть формы (регистрация не требуется!), Мне нужно каким-то образом разрешить только администратору просматривать / загружать изображения, но защищать их от других, потому что конфиденциальные данные под вопросом.
Ну вот:
1) Не храните файлы в своей БД. Когда-либо.
2) Защитите каталог загрузки (где будут загружены ТОЛЬКО загруженные файлы) с .htaccess – «deny all» (в основном) – или сохраните каталог загрузки где-то НЕ публично в Интернете (см. № 3 ниже)
3) Имеет промежуточный файл, который служит для загрузки файлов (пользователь регистрируется? Если это так, задайте заголовки и readfile()
фактический файл – это заставит файл загружаться. В базе данных должны храниться имя файла, путь и другие соответствующие Детали)
Сценарий загрузки PHP может сохранять файлы в любом каталоге, даже в том, что в нем есть .htaccess.
Как только форма будет отправлена, вы можете сделать все, что хотите, с загруженными файлами.
Почему вы не храните изображения в папке, которая просто недоступна из Интернета, а затем программно обеспечивает доступ к этим файлам из интерфейса администратора?
вы можете после загрузки, зашифровать изображения с помощью открытого ключа администратора, так что только закрытый ключ администратора может расшифровывать и просматривать.