Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизPHP, веб, пароли, файлы Найти похожие ветки
← →
KSergey © (2010-02-11 10:02) [0]Не по теме форума, но спецы здесь есть, хотелось бы посоветоваться.
Нужно сделать скачивание файлов по паролю. Собственно интересует как на PHP сделать такую штуку: лежит файл, PHP-скрипт авторизует пользоватея и отдает ему файл. Собстевнно не понятно для меня "как пропустить файл через скрипт", если так можно выразиться.
Интересуют общие идеи и ключевые слова по которым поискать инфу.
← →
tesseract © (2010-02-11 11:24) [1]
> Собстевнно не понятно для меня "как пропустить файл через
> скрипт",
эммм. Сгенерировать ссылку на файл и перенаправить на эту страницу пользователя ?
← →
McSimm © (2010-02-11 11:29) [2]
> "как пропустить файл через скрипт"
fpassthru()
> общие идеи и ключевые слова
header, Content-Type
← →
palva © (2010-02-11 11:31) [3]Самое простое выдать заголовки и включить файл в скрипт по include.
Если, конечно, в этом файле нет последовательности символов <?
Можно отдать файл функцией echo или print
← →
KSergey © (2010-02-11 12:29) [4]> palva © (11.02.10 11:31) [3]
Забыл сказать, что файл - бинарный (pdf, например). Выдать текст из любого устройства - проблем нет, понятно.
← →
KSergey © (2010-02-11 12:29) [5]> palva © (11.02.10 11:31) [3]
Забыл сказать, что файл - бинарный (pdf, например). Выдать текст из любого устройства - проблем нет, понятно.
← →
KSergey © (2010-02-11 12:39) [6]> tesseract © (11.02.10 11:24) [1]
> Сгенерировать ссылку на файл и перенаправить на эту страницу пользователя ?
эээ... а как убедиться, что пользователь аутоитентифицированный? ну т.е. чтобы нельзя было с заранее известной ссылкой прийти
← →
brother © (2010-02-11 12:50) [7]> а как убедиться, что пользователь аутоитентифицированный?
ставь куки в них много чего пиши, ну, и длительность сессии не забудь)
← →
KSergey © (2010-02-11 12:53) [8]> McSimm © (11.02.10 11:29) [2]
> fpassthru()
То что надо, спасибо!
толко маленький вопрос: а как сообразить какой контент-тайп выдавать? ну т.е. файлы разные могут быть в моем случае: pdf, xls, png
А судя по примерам в сети - конкретный тип надо указать...
Или надо прошивать таблицу соответствий по расширению, например?
← →
brother © (2010-02-11 12:59) [9]> а как сообразить какой контент-тайп выдавать?
расширение файла распарсить?
← →
KSergey © (2010-02-11 13:00) [10]> KSergey © (11.02.10 12:53) [8]
вру, есть достаточно универсальные примеры
Спасибо всем большое!
← →
KSergey © (2010-02-11 13:02) [11]> brother © (11.02.10 12:50) [7]
> ставь куки в них много чего пиши, ну, и длительность сессии не забудь)
Если я не пропускаю "сквозь скрипт", ну т.е. формирую реальную ссылку на файл - то, на сколько я понимаю, куки меня никогда не спасут.
Впрочем, могу сильно заблуждаться.
← →
brother © (2010-02-11 13:05) [12]> Если я не пропускаю "сквозь скрипт", ну т.е. формирую реальную
> ссылку на файл - то, на сколько я понимаю, куки меня никогда
> не спасут.
вообще да, но если Я тебя правильно понял, то:
твой скрипт получает строку запроса (не на прямой файл), смотрит на куки и понеслась!!!)
← →
KSergey © (2010-02-11 13:07) [13]> brother © (11.02.10 13:05) [12]
> твой скрипт получает строку запроса (не на прямой файл), смотрит на куки и понеслась!!!)
Дык! о том и вопрос, как сделать "понеслась" :)
McSimm уже подсказал.
← →
brother © (2010-02-11 13:08) [14]а понял ;) ну, понеслась!!!))))))))
← →
antonn © (2010-02-12 01:45) [15]
> Самое простое выдать заголовки и включить файл в скрипт
> по include.
> Если, конечно, в этом файле нет последовательности символов
> <?
>
> Можно отдать файл функцией echo или print
>
readfile() если уж на то пошло, если не реализовывать докачку.
Кстати, раньше не понимал, как можно воссоздать уязвимость "закачать файл на сайт и проинклудить", вот теперь вижу...
> KSergey © (11.02.10 12:39) [6]
>
> > tesseract © (11.02.10 11:24) [1]
> > Сгенерировать ссылку на файл и перенаправить на эту страницу
> пользователя ?
>
> эээ... а как убедиться, что пользователь аутоитентифицированный?
> ну т.е. чтобы нельзя было с заранее известной ссылкой прийти
запоминать его (учетные данные (код, например))+браузер+remote_IP+еще что нибудь, на их основе вычислять некий хеш, хеш передавать в GET (куков может не быть, а с GET ссылку можно удобно передать в качалку файлов).
для отдачи файла скриптом можно поискать class.httpdownload.php
← →
KSergey © (2010-02-12 17:02) [16]> antonn © (12.02.10 01:45) [15]
> > Самое простое выдать заголовки и включить файл в скрипт по include.
> Кстати, раньше не понимал, как можно воссоздать уязвимость
> "закачать файл на сайт и проинклудить", вот теперь вижу.
хм, а и правда.
Хорошо, что в моём случае закачка внешними пользователями не предусмотрена по ТЗ :)
← →
antonn © (2010-02-12 19:35) [17]ну все равно, сделать правильный способ отдачи файла (+если апач - запретить выполнение из этой папки) и не будет потенциальной дырки со стороны админки.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.063 c