Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получение файла, только со страницы 
:(
    Опции темы
z-END
Дата 17.1.2005, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



Здраствуйте, вопрос такой: например
имеется файл /Data/Music.mp3
хочется сделать так:
при переходе напрямую http://../Data/Muisc.mp3 ссылка не работала, а
через http://../Data/get.php?Music.mp3 все было пучком..
(т.е. открывался диалог Save as...)
Так можно сделать?


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
penizillin
Дата 17.1.2005, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



да. инструментарий сервера позволяет подобные ограничения. почитайте про .htaccess у apache.
PM MAIL ICQ   Вверх
Irokez
Дата 17.1.2005, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



по моему это лучше через настройки сервака сделать в конфигах или .htacсess
PM   Вверх
Irokez
Дата 17.1.2005, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



надо через конфиг или .htaccess запретить доступ для пользователей ко всем файлам папки, а доступ обеспечить к ним только черех скрипт get.php

Это сообщение отредактировал(а) Irokez - 17.1.2005, 19:23
PM   Вверх
z-END
Дата 17.1.2005, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



Irokez а нестрашно что ПХП в сэйф-моде?
Т.е. просто выставить так:
Код

order allow deny
deny from all
allow from get.php

и все заработает?


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Irokez
Дата 17.1.2005, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



nJIaKca.spb
если честно я не силен в администрировании, но по-моему это должно сработать, самый легкий способ - проверить на опыте
PM   Вверх
Chuck
Дата 17.1.2005, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Сушня
**


Профиль
Группа: Эксперт
Сообщений: 442
Регистрация: 12.12.2003
Где: Узбекистан, Ташке нт

Репутация: нет
Всего: 9



Предлагаю перелжить все файлы в директорию повыше, куда не доберется браузер!
Т.е. выше директории, где хранится начальный index.html (/home/files/data/www/html/index.html)
А в скрипте для скачивания указывать полный путь скачивания
Код

/home/files/data/music.mp3

И все заработает, как надо smile)
Идея ясна?

PM MAIL WWW GTalk   Вверх
IZ@TOP
Дата 18.1.2005, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Chuck, а не проще просто в конфе апача запретить чтение с сайта *.mp3 файлов? Не помню как, но такая возможность должна быть у Апача. И будет Вам просто ошибка что нет прав на запуск данных файлов. А вообще я всегда думал, вот как можно угадать например название такого файла: Sting - Desert Rose (Mix Any & Key).mp3 лежащего на сервере в непросматриваемой папке, да и вообще сначало папку надо угадать...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
z-END
Дата 18.1.2005, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



Цитата(Chuck @ 17.1.2005, 21:41)
Предлагаю перелжить все файлы в директорию повыше, куда не доберется браузер!

предположим юзер №1 действительно получил файл через get.php, но он ведь при скачивании легко узнает реальное местонахождение файла и сможет его передать юзеру №2 который уже сможет получить данный файл минуя get.php
Или я опять туплю? smile

IZ@TOP если запретить чтение файлов *.mp3 то как его вообще можно будет даже через get.php ?!


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Opik
Дата 18.1.2005, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



chmod на файл ставь 640
PM MAIL Skype   Вверх
z-END
Дата 18.1.2005, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



Opr а как потом мне доступ к файлу-то получить?


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Opik
Дата 18.1.2005, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



nJIaKca.spb
серверу то права будут.
PM MAIL Skype   Вверх
IZ@TOP
Дата 18.1.2005, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



nJIaKca.spb, и ка же юзер №1 узнает местоположение файла??? Если только ты конечно переадресуешь его на него, тогда да, а если get.php будет читать файл и выводить юзеру, тогда он ни чего не узнает кроме пути к файлу get.php smile А вообще сделай как сказал Opr.

Это сообщение отредактировал(а) Opr - 19.1.2005, 12:56


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
z-END
Дата 18.1.2005, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



1 установил 640 как и говорили, а билн вот как получается:
Цитата
fopen("Data.zip", "rb") - Permission denied in /home/.../Data/get.php on line 11

ИМХО скрипт тоже не имеет права читать из файла с такими аттрибутами..
ЗЫ передавать пытался так:
get.php
Код

<?php
$cd = 'Content-Disposition: attachment; filename="data.zip"';
$ct = 'Content-type: application/x-zip-compressed';
$file_date = date("D, d M Y H:i:s T", filemtime("data.zip"));
header ($tt);
header ($ct);
header ($cd);
$f=fopen("data.zip","rb");
while (!feof($f))
  {
   $i = fgetc ($f);
   echo $i;
 }
fclose ($f);
?>

или я передаю неправильно?


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
IZ@TOP
Дата 18.1.2005, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Код

<?php
$cd = 'Content-Disposition: attachment; filename="data.zip"';
$ct = 'Content-type: application/x-zip-compressed';
$file_date = date("D, d M Y H:i:s T", filemtime("data.zip"));
header ($tt); // откуда это?
header ($ct);
header ($cd);
$f=fopen("data.zip","rb");
while (!feof($f))
 {
  $i = fgetc ($f); // Если тебе блоками надо читать, то лучше использовать fread или frgets.
  echo $i;
}
fclose ($f);
?>


Если и скрипт не получает прав, то остается два способа: как я говорил, с помощью апача запретить аплоад *.mp3, или как тут кто-то сказал, пихать файлы в директорию которая находится ниже на уровень чем корень сайта.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1573 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.