старое, вечное, неясное...
nolar 15.02.2004 14:54
Давняя тема, ответ на которую мне так и неясен.
Задача:
Организовать некий файловый архив на сайте, имеющим самодельную систему авторизации на парсере. доступ к файлам проверять по правам доступа (условно назовем метод ^можноли[]). Доступ к файлам иным способом, кроме как через систему авторизации, не должен существовать.
Вариант 1:
$response:body[^file::load[...]]. отметается сразу, так как файлы могут быть большого (уточняю: огромного) размера, а парсер прежде чем их отдавать будет грузить их в память. память не резинвоая вестимо.
Вариант 2:
Редиректы. На странице проверяем права на файл, и делаем редирект на storage/realfile.zip, скажем. Очевидно, что от прав доступа толку ноль, поскольку будет работать прямая ссылка в обход страницы. Такой вариант отметаем.
Вариант 3:
При получении права доступа на странице, генерим некий супер-уникальный идентификатор, каталог с таким именем, пихаем туда линк на реальный файл и сгенерированный .htaccess для исходного айпи адреса сессии. Со страницы делаем редирект на слинкованный файл. Каталоги прибиваем по старости через некоторое время. Наиболее рабочий из пришедших мне в голову вариантов. Правда, уродский в смысле красивости решения. Да и все равно не идеален в плане существования NAT'ов, Proxy'ей и прочей фигни с одним адресом.
Вопрос:
Как же быть? Что посоветуете вы?
- старое, вечное, неясное..., nolar 15.02.2004 14:54