![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]()
Доброго времени суток !
У меня проблемка, помогите разобратся , суть : Имеется файл расположенный по такому адресу : mysite.ru/1.txt Необходимо закрыть к нему доспуп : тоесть когда ктонибудь попытается скачать его , сервер скажет что таково нету , или что доступ ограничен. Мне необходимо чтобы только мои скрипты на сервере имели к нему доступ. Гдето давно я читал что это указывается в дополнительном файле в корневой папке. Но это ну всё , по логинпаролю ( при открытой сессии ) пользователь должен получать к нему доступ , при чем пользователь указывает имя файла в запросе. Стоит ли искать скрипты ограничивающие доступ (гдето видел скрипт дающий доступ на N секунд к файлу при каких-то условиях ), или этим можно манипулировать с помощью подстройки "сервера" ? Я не уверен что тема принадлежит этому разделу, но всёже. Всем откликнувшимся Спасибо ! |
![]() |
![]() |
![]() |
#2 |
Программист
Форумчанин
Регистрация: 27.02.2009
Сообщений: 505
|
![]()
Если сайт стоит на Linux/FreeBSD - можно сделать так -
Код:
there are no limits when you're software engineer
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
А через .htaccess ?
<Files "1.txt"> Deny From All </Files> при этом с браузера не достучишься, зато серверные скрипты без проблем имеют доступ |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]()
Да , я говорил про этот файл .
Только я немного не понимаю систему, этот файл читает сервер и запрещет доступ к файлу соответственно сожержимого ".htaccess" да? Или это както связанно с браузерами? Deny From All - кроме серверных скриптов , так? |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
создаешь этот файл в директории, где лежит файл к которому нужно доступ запретить.
Это чисто файл конфига для апача. Т.е. когда юзер через браузер запросит какой-либо файл (например 1.txt), апач сначала посмотрит в настройки (а можно ли юзеру отдать этот файл или нельзя, deny from all говорит что никому нельзя его отдавать) и апач вернет Access forbidden в браузер. Т.е. это касается только запросов извне, серверные скрипты делают с файлом что хотят без запретов. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]()
Спасибо , понятно.
1) А можно ли изменять .htaccess с помощью скрипта? к примеру при добавлении нового 2.txt чтобы его автоматически туда добавить? 2) А как на счёт разрешения по паролю ? Тоесть если юзер залогинился я ему и только ему разрешаю скачать файл , ну доступ открываю , а если не залогинился - доступа нет. ? Для этого нужно писать скрипт , скрывать месторасположение файла и каким-то образом создавать новый "псевдо путь" ? например такой как дают файлообменники? site.ru/87237478-u23t4y2-ej-343/file.txt хотя реальное расположение , например , : site.ru/files/file.txt Как такое реализовать? Я так понимаю не созданием папки на время ... имхо бред ) Подскажите |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
чтобы не парится обновлять .htaccess, можно просто все "запрещенные файлы" скидывать в один каталог, а в этом каталоге в .htaccess написать
Код:
Авторизацию юзера я бы сделал через php. Типа как на всех сайтах. Если юзер к примеру залогинился и хочет скачать файл, можно этот файл ему отдать через скрипт file.php?file=1.txt вот чтото типа такого. внутри file.php написать: Код:
![]() только не забыть сделать проверку(залогинился ли юзер) в этом файле. ну это лично моё видение решения проблемы. Можно запросто сделать и так как вы сказали, т.е. взять скопировать файл во временно созданную директорию и отдать юзеру ссылку на этот файл. А через какое-то время этот временный файл удалить. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]()
Спасибо , попробую сделать так как вы сказали)
Авторизация у меня уже есть , на пхп , с использованием сессий. ЧТо интересно , для тестирования нужно создать сам этот файл) но так как я использую денвер , и как браузер категорий - проводник - файлик такой создать нельзя) пишет что нужно ввести имя ) Пригодился написаный сегодня же скрипт для создания текстового файла) Этот код ( + проверка на авторизованность) должен быть в третьем файле ? Тоесть я перенаправляю юзера на этот файл , проверяю залогинился ли он и в итоге юзер получает файл "'forbidden_directory/'.$file" Попробовал , получилось, но есть проблема имя файла получается как имя скрипта , у меня было test.php в итоге полное имя файла для закачки ( показываемое браузером ) было "test" . Как исправить? |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
header('Content-Disposition: attachment; filename="'.$file.'"');
ну этот хедер и должен определять имя файла $file |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
аа, ну да..конечно
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить доступ к файлу | yngwie | Win Api | 1 | 08.04.2009 14:11 |
Огран. доступ к файлу | Манжосов Денис :) | Помощь студентам | 6 | 15.07.2008 11:33 |
Общий доступ к файлу с макросам в Эксель | grenles | Microsoft Office Excel | 11 | 30.06.2008 16:38 |
Закрыть доступ к файлу *.db | Антон Шестаков | БД в Delphi | 6 | 05.01.2008 09:28 |
Закрыть доступ для всех процессов к файлу | Sanek_ntsk | Общие вопросы Delphi | 6 | 04.12.2007 16:26 |