Доступ к файлам через скрипт

hoting

Новичок
Друзья привет.
Встала задача ограничить доступ к файлам типа *.pdf. В настоящий момент все файлы лежат в папке к которой возможен доступ по обычной прямой ссылке, что не есть хорошо, т.к. любой желающий может этот фаил проссмотреть. Необходимо организовать так чтоб ограничить доступ из вне, а проссмотр разрешить только авторизированным пользователям. Кто сталкивался с такой проблемой и как её решить? буду благодарен любым ссылкам :)
 

jonjonson

Охренеть
Я не понял вашего ответа. Возможно вас смутил знак вопроса.
pdf файлы кладутся в непубличную папку.
В скрипт их отдающий передаётся параметр идентифицирующий файл.
Этот же скрипт проверяет авторизацию и в успешном случае отдаёт файл читая его с приватной папки.

Вопрос производительности в данной ситуации я не рассматриваю.
 

hoting

Новичок
Я не понял вашего ответа. Возможно вас смутил знак вопроса.
pdf файлы кладутся в непубличную папку.
В скрипт их отдающий передаётся параметр идентифицирующий файл.
Этот же скрипт проверяет авторизацию и в успешном случае отдаёт файл читая его с приватной папки.

Вопрос производительности в данной ситуации я не рассматриваю.
А есть ли какие-то примеры скриптов, у меня напрочь отсутствует опыт в данном вопросе ... Тут же необходимо настроить Apache и PHP...
 

jonjonson

Охренеть
Почему вы решили, что потребуются какие-то особые настройки?
Вообще вся магия кроется в знании HTTP протокола.
Что бы браузер понял, что вы отдаёте, определяет заголовок HTTP ответа.
Если требуется докачка, то это то же решается через заголовок.
Далее читаем файл и рефрешим отдачу.

В гугле подобные скрипты найти легко и потом самостоятельно разобрать на части.
После разбора и пробы сразу получите важный опыт :)

Ну а авторизация - это вы думаю уже знаете. Или нет?
 

hoting

Новичок
Почему вы решили, что потребуются какие-то особые настройки?
Вообще вся магия кроется в знании HTTP протокола.
Что бы браузер понял, что вы отдаёте, определяет заголовок HTTP ответа.
Если требуется докачка, то это то же решается через заголовок.
Далее читаем файл и рефрешим отдачу.

В гугле подобные скрипты найти легко и потом самостоятельно разобрать на части.
После разбора и пробы сразу получите важный опыт :)

Ну а авторизация - это вы думаю уже знаете. Или нет?
С авторизацие проблем нет :)
Пошарил в поисковике, но так и не смог ничего внятного найти, может не по тем критериям ищу?
 

jonjonson

Охренеть
php script file download

Причём находятся даже варианты в четыре строчки (без авторизации).
 

jonjonson

Охренеть
Лучше всего её разместить до корня сайта.
Как не совсем надёжный вариант закрыть через .htaccess
 

antson

Новичок
Партнер клуба
@hoting, https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/
Если не понятно как использовать гугли X-Accel-Redirect
суть такая пути по которым лежали файлы заворачиваешь через htaccess на скрипт проверки
в скрипте если скачивание разрешено передаешь нужный заголовок
файлы теперь лежат в недоступном с наружи месте.
нгинкс их достает из интернал локатион , только если скрипт это разрешил
 

hoting

Новичок
@hoting, https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/
Если не понятно как использовать гугли X-Accel-Redirect
суть такая пути по которым лежали файлы заворачиваешь через htaccess на скрипт проверки
в скрипте если скачивание разрешено передаешь нужный заголовок
файлы теперь лежат в недоступном с наружи месте.
нгинкс их достает из интернал локатион , только если скрипт это разрешил
Очень интересная технология но тем не менее не могу разобраться как применять, видимо я задал более обширный вопрос.
Задача, на мой взгляд, очень проста, но внятного решения я не увидел.
Мне необходимо, чтоб пользователь мог отрыть pdf файл только из админки, т.е. предварительно пройдя авторизацию, причем именно проссмотреть а не скачать, это документы входящии и исходящие письма
при этом нужно заблокировать возможность прочитать pdf введя в браузере прямую ссылку вид http://company.ru/docs/123.pdf
при этом если пробую закрыть доступ через .htaccess то перестает работать скрипт который загружает pdf файлы в папку где они хранятся .... в общем полная каша в голове, особо таких задач не решали и логики их реализации пока не могу понять :(
 

AnrDaemon

Продвинутый новичок
необходимо, чтоб пользователь мог отрыть pdf файл только из админки
Локация, на которую ссылается сендфайл, обычно недоступна по прямой ссылке снаружи. (При нормальной настройке сервера, да.)
Так что в обёртке можешь писать всё, что угодно, включая авторизацию.
 

hoting

Новичок
Сам то понимаешь, какую чушь несёшь?
Без скачивания невозможено что-то увидеть.
Конечно понимаю, нет смысла это озвучивать, это не суть вопроса.

Локация, на которую ссылается сендфайл, обычно недоступна по прямой ссылке снаружи. (При нормальной настройке сервера, да.)
Так что в обёртке можешь писать всё, что угодно, включая авторизацию.
А можно примерчик?

Изучив вопрос, я так понимаю стандартными средствами PHP данный вопрос не решить, только в связке с сервером. Но тут встает вопрос, на хостинге установлен только Апач2, установка других веб-серверов не доступна. А на сколько я понял X-Accel-Redirect это свойство для lighttpd сервера ....
 
Сверху