Доступ к файлам в каталоге только по ссылке

4ksner

Постоялец
Регистрация
6 Июн 2012
Сообщения
149
Реакции
62
Имеется веб приложение, в котором у каждого дела есть закрепленные файлы. Эти файлы можно скачать пройдя по ссылке из дела (site.ru/uploads/cases/10/file.pdf).
Имеются различные роли, которые ограничивают доступ к делу.
Но получается любой пользователь может забить прямой адрес файла и спокойно скачать. А меняя ID дела в УРЛе скачать файлы по всем делам.

Единственное решение вижу - это разрешить скачиваение файла только если у нас был переход по ссылке из карточки дела (к которой я уже могу ограничивать доступ).

Как такое можно реализовать?
 
Разве это нельзя реализовать при помощи проверки $_SERVER['HTTP_REFERER'] ?
 
Все верно, $_SERVER['HTTP_REFERER'] используйте. Проверяйте что в нем. А еще лучше загружать на сервер документы не в оригинальном названии. Хотя бы md5+time ну и можно по папкам разбрасывать месяц,год,число
 
Я представляю как можно использовать $_SERVER['HTTP_REFERER'] для исполняемых php файлов. А как я буду проверять Рефер для PDF или JPG?
 
По моему через htaccess можно перенаправить все запросы через php файл
 
HTTP_REFERER - защита от дурака и не более, подделывается очень легко
Наиболее правильный вариант генерировать на php (или другом серверном ЯП) временный путь типа symlink - Для просмотра ссылки Войди или Зарегистрируйся и по крону symlink`и удалять (файл при этом остаётся там где и лежал до этого)
В папку с оригинальными файлами запретить доступ из веба
 
Назад
Сверху