Armenian Knowledge Base

Armenian Knowledge Base (https://forum.armkb.com/)
-   Web Development (https://forum.armkb.com/web-development/)
-   -   Как запретить direct download? (https://forum.armkb.com/web-development/9100-kak-zapretit-direct-download.html)

Leo 19.11.2003 22:33

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

dolphin 20.11.2003 09:18

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. Как это деается? И можно ли обойтись без этого как нить попроще?
Буду благодарен за любую помощь.

Не знаю, что за зверьтакой. А попроще, ето пропускать через пхп, ну ты это уже проходил, помнишь? ;)

hayk 20.11.2003 10:05

Re: Как запретить direct download?
 
Quote:

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

Obelix 20.11.2003 10:46

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

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

Leo 21.11.2003 13:18

Wses pasibo.
Otvechu podrobnee cherz paru chasikov :kiss:

Leo 21.11.2003 17:20

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.

Leo 21.11.2003 17:24

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

Leo 21.11.2003 17:26

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

Leo 21.11.2003 17:35

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

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

Obelix 21.11.2003 18:15

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

deny from all 

Должно решить проблему - к директории из веба доступа не будет.

hayk 21.11.2003 18:42

Quote:

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

hayk 21.11.2003 18:50

Quote:

Originally posted by Leo
Что такое antilich?:rolleyes:
Конечно же давай ссылку.

Антилич - это система которая не позволяет воровать линки. Например как на взоре.
Посмотри этот класс. Законченым продуктом не назовешь, но руки никак не дойдут доделать.

Leo 21.11.2003 21:44

Quote:

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

Ne mog :-( Ne ya admin servera. Mne prosot hosting dali.


Quote:

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

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

Obelix 22.11.2003 06:50

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

Leo 22.11.2003 07:58

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


All times are GMT. The time now is 08:16.

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