Go Back   Armenian Knowledge Base > Technical sections > Webmaster Zone > Web Development

Reply
 
Thread Tools

Как запретить direct download?
Old 19.11.2003, 22:33   #1
Leo
Вечный Студент
 
Leo's Avatar
 
Join Date: 10 2003
Location: Armenia
Age: 43
Posts: 69
Rep Power: 0
Question Как запретить direct download?

Уважаемые девелоперы
У меня возникла проблема.
Имеется некий каталог с файлами(mp3), посредством скрипта(download.php) с использованием HEADER-ов юзеры скачивают оттуда фаилы. Но нашлись умники или умницы , которые качают непосредсвенно из фолдера.
1. Мое предположение основывается на лог файлах(Apach). Имеются записи типа "download.php?filename="foo.mp3"' и просто "/фолдер/foo.mp3". Может так и дилжно быт'??? Но я думаю врядле.
2. Как избежать таких даунлоадов ??? Я знаю что на некторых сайтах исползуют RND folder. Как это деается? И можно ли обойтись без этого как нить попроще?
Буду благодарен за любую помощь.

Re: Как запретить direct download?
Old 20.11.2003, 09:18   #2
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 42
Posts: 540
Rep Power: 5
Default Re: Как запретить direct download?

Quote:
Originally posted by Leo

1. Мое предположение основывается на лог файлах(Apach). Имеются записи типа "download.php?filename="foo.mp3"' и просто "/фолдер/foo.mp3". Может так и дилжно быт'??? Но я думаю врядле.
Зря думаешь. Так и должно быть. Естественно, что после редиректа header("Location: ..."); -ом к серверу идет второй запрос непосредственно к сасмому файлу.

Quote:
Originally posted by Leo

2. Как избежать таких даунлоадов ??? Я знаю что на некторых сайтах исползуют RND folder. Как это деается? И можно ли обойтись без этого как нить попроще?
Буду благодарен за любую помощь.
Не знаю, что за зверьтакой. А попроще, ето пропускать через пхп, ну ты это уже проходил, помнишь?

Re: Как запретить direct download?
Old 20.11.2003, 10:05   #3
Moderator
 
Join Date: 03 2002
Location: Russia
Posts: 123
Rep Power: 0
Default Re: Как запретить direct download?

Quote:
Originally posted by Leo
Имеется некий каталог с файлами(mp3), посредством скрипта(download.php) с использованием HEADER-ов юзеры скачивают оттуда фаилы. Но нашлись умники или умницы , которые качают непосредсвенно из фолдера.
Я вижу два варианта:
1. В папке где лежат мп3 файлы проверять реферер и если он не вида "download.php?filename=foo.mp3" то выдавать http-403, а если все Ок - то разрешать скачивать файл. Но это на дураков.
2. Напиши (заюзай) антилич:
- как модуль для апача
- как php скрипт (могу дать ссылки)

Old 20.11.2003, 10:46   #4
панаехавший
 
Obelix's Avatar
 
Join Date: 06 2003
Location: форпост
Age: 37
Posts: 4,007
Rep Power: 0
Default

Можно в принципе вот что сделать. Защитить фолдер хтаксессом, а при скачивании файла делать жесткую ссылку на него с длинненьким случайным именем (предполагается что все это делается не на виндовозе). Время от времени можно приберать ненужные ссылки.

Это удобно если нужно допускать даунлоад только определенным юзверям - по аутентикации или еще чем то.

Old 21.11.2003, 13:18   #5
Leo
Вечный Студент
 
Leo's Avatar
 
Join Date: 10 2003
Location: Armenia
Age: 43
Posts: 69
Rep Power: 0
Default

Wses pasibo.
Otvechu podrobnee cherz paru chasikov

Old 21.11.2003, 17:20   #6
Leo
Вечный Студент
 
Leo's Avatar
 
Join Date: 10 2003
Location: Armenia
Age: 43
Posts: 69
Rep Power: 0
Default

To dolphin
U menya v download.php net Header(Location:...)
Tam:
PHP Code:
Header("Accept-Ranges: bytes");
Header("Content-Length:$length");   
Header("Content-type: x-audio/mp3");
Header("Content-Disposition: attachment; filename=$filename");

$f=fopen("music/".$filename,"rb");
fseek($f,$bytes,SEEK_SET);
fpassthru($f); 
Imeeetsya vvidu, chto faily naxodyatsya v papke music.
Eto konechto ne ves' kod. Prosot xochu skazat' chto redirecta net.

Old 21.11.2003, 17:24   #7
Leo
Вечный Студент
 
Leo's Avatar
 
Join Date: 10 2003
Location: Armenia
Age: 43
Posts: 69
Rep Power: 0
Default

To hayk
Что такое antilich?
Конечно же давай ссылку.
Спасибо.

Old 21.11.2003, 17:26   #8
Leo
Вечный Студент
 
Leo's Avatar
 
Join Date: 10 2003
Location: Armenia
Age: 43
Posts: 69
Rep Power: 0
Default

To Obelix
Как ето делается ("хтаксессом") ?
Спасибо.

To ALL
Old 21.11.2003, 17:35   #9
Leo
Вечный Студент
 
Leo's Avatar
 
Join Date: 10 2003
Location: Armenia
Age: 43
Posts: 69
Rep Power: 0
Default To ALL

Вот пару строк из логфаила
217.118.66.232 - - [08/Nov/2003:18:02:05 -0400] "GET /music/A-Ha%20-%20Lifelines.mp3 HTTP/1.1" 206 49152
217.118.66.232 - - [08/Nov/2003:18:02:08 -0400] "GET /music/A-Ha%20-%20Lifelines.mp3 HTTP/1.1" 206 57344
217.118.66.232 - - [08/Nov/2003:18:02:09 -0400] "GET /music/A-Ha%20-%20Lifelines.mp3 HTTP/1.1" 206 81920
217.118.66.232 - - [08/Nov/2003:18:02:11 -0400] "GET /music/A-Ha%20-%20Lifelines.mp3 HTTP/1.1" 206 73728
217.118.66.232 - - [08/Nov/2003:18:02:12 -0400] "GET /music/A-Ha%20-%20Lifelines.mp3 HTTP/1.1" 206 65536

и

212.165.126.48 - - [15/Nov/2003:08:50:07 -0400] "GET /download.php?filename=Coolio%2520-%2520Gangsta%27s%2520Paradise.mp3 HTTP/1.0" 206 192548

В чем разница?

Old 21.11.2003, 18:15   #10
панаехавший
 
Obelix's Avatar
 
Join Date: 06 2003
Location: форпост
Age: 37
Posts: 4,007
Rep Power: 0
Default

Предполагается что у тебя апач стоит. В директорию скидываешь файл с названием .htaccess, в нем то должна быть строка
PHP Code:
deny from all 
Должно решить проблему - к директории из веба доступа не будет.

Old 21.11.2003, 18:42   #11
Moderator
 
Join Date: 03 2002
Location: Russia
Posts: 123
Rep Power: 0
Default

Quote:
Originally posted by Leo
Как ето делается ("хтаксессом")
А что мешает тебе вообще вынести файлы за пределы вебсервера? Ты то к ним обращаешься по файловой системе.

Old 21.11.2003, 18:50   #12
Moderator
 
Join Date: 03 2002
Location: Russia
Posts: 123
Rep Power: 0
Default

Quote:
Originally posted by Leo
Что такое antilich?
Конечно же давай ссылку.
Антилич - это система которая не позволяет воровать линки. Например как на взоре.
Посмотри этот класс. Законченым продуктом не назовешь, но руки никак не дойдут доделать.

Old 21.11.2003, 21:44   #13
Leo
Вечный Студент
 
Leo's Avatar
 
Join Date: 10 2003
Location: Armenia
Age: 43
Posts: 69
Rep Power: 0
Default

Quote:
А что мешает тебе вообще вынести файлы за пределы вебсервера? Ты то к ним обращаешься по файловой системе.

Ne mog Ne ya admin servera. Mne prosot hosting dali.


Quote:
Должно решить проблему - к директории из веба доступа не будет.
Da. Permisions byli ne v poryadke
Teper' vrode norma. Budem jdat'

Всем спасибо.

Old 22.11.2003, 06:50   #14
панаехавший
 
Obelix's Avatar
 
Join Date: 06 2003
Location: форпост
Age: 37
Posts: 4,007
Rep Power: 0
Default

A chto tebe meshaet poprobovat'? Prosto posmotri, dostupa ne doljno bit'.

To Obelix
Old 22.11.2003, 07:58   #15
Leo
Вечный Студент
 
Leo's Avatar
 
Join Date: 10 2003
Location: Armenia
Age: 43
Posts: 69
Rep Power: 0
Default To Obelix

Delo v tom, chto ya ne znayu, kak oni poluchali dostup. Kakim putem? U menya problema s Apache logami smotri zdes'
Reply




Реклама:
реклама

All times are GMT. The time now is 01:26.
Top

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.