| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > получение файла |
| Автор: z-END 17.1.2005, 18:36 |
| Здраствуйте, вопрос такой: например имеется файл /Data/Music.mp3 хочется сделать так: при переходе напрямую http://../Data/Muisc.mp3 ссылка не работала, а через http://../Data/get.php?Music.mp3 все было пучком.. (т.е. открывался диалог Save as...) Так можно сделать? |
| Автор: penizillin 17.1.2005, 19:00 |
| да. инструментарий сервера позволяет подобные ограничения. почитайте про .htaccess у apache. |
| Автор: Irokez 17.1.2005, 19:01 |
| по моему это лучше через настройки сервака сделать в конфигах или .htacсess |
| Автор: Irokez 17.1.2005, 19:20 |
| надо через конфиг или .htaccess запретить доступ для пользователей ко всем файлам папки, а доступ обеспечить к ним только черех скрипт get.php |
| Автор: z-END 17.1.2005, 19:32 | ||
| Irokez а нестрашно что ПХП в сэйф-моде? Т.е. просто выставить так:
и все заработает? |
| Автор: Irokez 17.1.2005, 19:42 |
| nJIaKca.spb если честно я не силен в администрировании, но по-моему это должно сработать, самый легкий способ - проверить на опыте |
| Автор: Chuck 17.1.2005, 21:41 | ||
| Предлагаю перелжить все файлы в директорию повыше, куда не доберется браузер! Т.е. выше директории, где хранится начальный index.html (/home/files/data/www/html/index.html) А в скрипте для скачивания указывать полный путь скачивания
И все заработает, как надо Идея ясна? |
| Автор: IZ@TOP 18.1.2005, 00:08 |
| Chuck, а не проще просто в конфе апача запретить чтение с сайта *.mp3 файлов? Не помню как, но такая возможность должна быть у Апача. И будет Вам просто ошибка что нет прав на запуск данных файлов. А вообще я всегда думал, вот как можно угадать например название такого файла: Sting - Desert Rose (Mix Any & Key).mp3 лежащего на сервере в непросматриваемой папке, да и вообще сначало папку надо угадать... |
| Автор: z-END 18.1.2005, 10:01 | ||
предположим юзер №1 действительно получил файл через get.php, но он ведь при скачивании легко узнает реальное местонахождение файла и сможет его передать юзеру №2 который уже сможет получить данный файл минуя get.php Или я опять туплю? IZ@TOP если запретить чтение файлов *.mp3 то как его вообще можно будет даже через get.php ?! |
| Автор: Opik 18.1.2005, 10:27 |
| chmod на файл ставь 640 |
| Автор: z-END 18.1.2005, 11:18 |
| Opr а как потом мне доступ к файлу-то получить? |
| Автор: Opik 18.1.2005, 12:14 |
| nJIaKca.spb серверу то права будут. |
| Автор: IZ@TOP 18.1.2005, 13:01 |
| nJIaKca.spb, и ка же юзер №1 узнает местоположение файла??? Если только ты конечно переадресуешь его на него, тогда да, а если get.php будет читать файл и выводить юзеру, тогда он ни чего не узнает кроме пути к файлу get.php |
| Автор: z-END 18.1.2005, 14:19 | ||||
1 установил 640 как и говорили, а билн вот как получается:
ИМХО скрипт тоже не имеет права читать из файла с такими аттрибутами.. ЗЫ передавать пытался так: get.php
или я передаю неправильно? |
| Автор: IZ@TOP 18.1.2005, 15:27 | ||
Если и скрипт не получает прав, то остается два способа: как я говорил, с помощью апача запретить аплоад *.mp3, или как тут кто-то сказал, пихать файлы в директорию которая находится ниже на уровень чем корень сайта. |
| Автор: z-END 18.1.2005, 15:35 | ||||
эт я эксперементировал, и стереть заыбл=) не обращай внимания его нет.
мне надо передать файл (чтобы открылось окошко "Сохранить объект как") насчет болками или нет это я незнаю |
| Автор: penizillin 18.1.2005, 16:37 |
| а нельзя весь файл одним махом через include() вставить? |
| Автор: z-END 18.1.2005, 16:40 |
| penizillin это как? |
| Автор: penizillin 18.1.2005, 18:43 |
| поправлюсь, readfile(). |
| Автор: Chuck 18.1.2005, 21:45 | ||||||||
Тупишь ... Как он узнает? (Если только ошибки скрипте не будет)
Группа файла должна соответствовать группе скрипта (в 90% это группа apache) penizillin Можно, попробуй!
Не всегда работает - это раз! 2. Не все хостинги поддерживают .htaccess (мало ли кто, что вздумает IMHO, скрипты должны работать хорошо в настройках по умолчанию!
А смысл? z-ENDу, я понял, надо путь к файлу скрыть, а не запретить скачивание .... |
| Автор: z-END 19.1.2005, 09:53 | ||||
| Chuck 1 .htacces на хостинге поддерживается 2
ЗЫ а туплю по тому, что сначала я думал просто сделать так:<A href="bla-blabal>файло</A> =)
Мне надо сделать так что-бы файл можно было скачать с сайта только через get.php и никак иначе, а каким способом роли не играет=) наверное действительно проще всего создать подпапку "FLKEFEMFWEOFEWPOEMR\FIGA1\FIGA2\" и положить туда файл и все-тут |
| Автор: IZ@TOP 19.1.2005, 11:59 | ||
z-END, как это реализовано на 3mp3.ru |
| Автор: Chuck 20.1.2005, 11:21 |
| IZ@TOP, z-END Вы говорите про сессии или про что-то другое? z-END Можно путь к файлу хранить в базе, тогда будет просто www.site.com/index.php?id=123 Т.е. будет у тебя таблица, ты будешь передавать ID, а mysql возвращать путь, ну а скрипт скаивать ... Уверяю, никто таким образом твой путь не увидит ... |
| Автор: z-END 23.1.2005, 10:14 |
| Chuck MySQL на хосте отсутсвует, но это можно решить и просто через какой-нить файл типа myfiles.ini где и хранить 123=/mysite/dir1/music.mp3 и т.п. ЗЫ: почему код который я привел, не поддерживает докачу и не выдает суммарный размер файла? |