Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как заблокировать прямое скачивание фалов формата


Автор: jeans1986 20.1.2012, 15:09
Возможно или нет заблокировать прямое скачивание фалов формата MP4. Надо, чтобы файл проигрывался только в плеере а скачать нельзя было бы его по прямой ссылки, т.е. чтоб парсеры не качали его автоматом? Заранее благодарю.

Автор: MoLeX 20.1.2012, 18:20
что-то скрыть в интернете невозможно. всегда есть кэш

Автор: skyboy 20.1.2012, 20:04
ну, можно намутить, чтоб:
а) адрес ролика запрашивался динамически, тем же джаваскриптом; 
б) ролик отдавался только по каким-то определенным куки; опять же - динамически формируемым.
в таком случае, потребуется дорабатывать бот; может, и забьют.

Автор: Gold Dragon 21.1.2012, 14:48
mp4 - я так понимаю это мультимедиа.. Наверное он используется для просмотра у клиента. А как он у клиента просматривается? Наверное через браузер. И и что мне мешает мне адрес посмотреть?  smile 

Наверное можно попробовать во флеш засунуть... Но тоже бред..

Это раньше все пытались защитить картинки, чтоб не скачивалась и копирование контекста при клике на правую кнопку мыши и реакции на Ctrl+C smile 

Если хочешь защитить, не публикуй!  smile 

Автор: ksnk 21.1.2012, 15:46
Нужно поискать по слову antileech.

Для этой задачи, imho, простой htaccess с проверкой реферера, который гуглится в первых результатах поиска, вполне подойдет.

Автор: Absinthe 21.1.2012, 15:54
Единственный способ - отдавать как поток, а не как файл.
Антиличи и т.д. не помогут нисколько.

Автор: Gold Dragon 21.1.2012, 16:09
кажется я вспомнил один способ smile

Код

RewriteCond %{HTTP_REFERER} !^$
# Дальше список разрешенных доменов
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?вашсайт.ru[NC]
# Форматы файлов, для которых устанавливается защита
RewriteRule .(jpg|png|gif|mp4)$ - [NC,F,L]


Т.е. если ссылка не самого сайта, то фиг чего получишь smile Кажется  как-то так

Автор: Absinthe 21.1.2012, 16:18
Gold Dragon, элементарно обходится даже стандартным софтом 2004 года - тогда еще всякие ReGet автоматически делали реферер.

А вариант я уже подсказал.

Автор: Gold Dragon 21.1.2012, 16:31
Цитата(Absinthe @  21.1.2012,  17:18 Найти цитируемый пост)
А вариант я уже подсказал. 
так я не против smile
просто это задачка имеет одну цень - тренировать мозг smile

Автор: ksnk 21.1.2012, 17:18
Цитата(Absinthe @  21.1.2012,  15:54 Найти цитируемый пост)
Единственный способ - отдавать как поток, а не как файл.

Отдавать как поток на нагруженном хостинге - смертельно :( 
Отдавать нужно временными жесткими ссылками, иначе сервер при паре-тройке одновременных закачек ляжет...

Дело упирается в количество средств, которые согласен потратить топикстартер  smile 

Imho, работоспособное решение - сделать собственный плейер. 
серверными средствами не побороть кэширование броузером и "подделку под клиента" программ-даунлодеров.

Плейер проходит авторизацию на сервере, получает временную ссылку для доступа и качает файл оттуда. Временная ссылка работает на  время проигрывания файла.
Авторизацию можно накрутить достаточно секретно. У клиента и сервера - пара ключей
-- ссылка для скачки формируется плеером в виде http://site.com/xxxxx/file.mp3
-- сервер перенаправляет его на http://site.com/yyyyy/file.mp3
-- плейер запрашивает файл по имени http://site.com/zzzzz/file.mp3 Это имя и является временной ссылкой.

xxx - случайная соль  клиента, yyy - зашифрованный серверным ключем путь с добавлением соли, zzz - расшифрованный клиентским ключем и обессоленый путь к временной ссылке. При несимметричном шифровании вычислить ключи без взлома плеера будет непросто.

Чтобы из кэша было сложно выковырять файл можно файл слегка поменять:
- поменять мим-тип файла (кусок с сигнатурами кодеков в заголовке файла) при открузке его клиенту, а плеер после чтения и перед проигрыванием поменяет его как надо.
- качать файл маленькими кусочками с разными именами и монтировать его на лету.

Понятно, что такую схему тоже можно сломать, было бы время, средства и желание. 

Автор: Gold Dragon 21.1.2012, 17:33
 smile 
jeans1986, признайся, какова цель всего этого? Хочешь использовать у себя на сайте уникальный контент?? Ты лучше признайся, а то товарищи атомную бомбу изобретут только ради того чтобы огород вскопать  smile 

Автор: z-END 21.1.2012, 18:40
Цитата(ksnk @  21.1.2012,  18:18 Найти цитируемый пост)
Понятно, что такую схему тоже можно сломать, было бы время, средства и желание. 


а смысл всего этого? если по факту я всегда смогу узнать непосредственный запрос (файрбагом темже) и открыть его прямо в браузере (чтобы скачать) 

тут в сторону RTMP  лопаты точить нужно...

Автор: ksnk 21.1.2012, 18:53
Цитата(z-END @  21.1.2012,  18:40 Найти цитируемый пост)
а смысл всего этого?

Для получения ссылки юзеру нужно будет открыть страничку с плеером и посмотреть на рекламку  smile Не ради ли этого все делается?
Без самого плеера ссылку получить не получится.
Если качать кусочками, то прямая ссылка тоже не очень пригодится загрузчику. Там будет небольшой/некорректный кусок контента...

Добавлено через 1 минуту и 53 секунды
Цитата(z-END @  21.1.2012,  18:40 Найти цитируемый пост)
тут в сторону RTMP  лопаты точить нужно...

Да, вероятно в эту сторону легче нарыть решений. Да и велосипеды не придется мастерить ...

Автор: Gold Dragon 21.1.2012, 18:59
а всеми этими наворотами сервер не повесите?  smile 
Цитата(ksnk @  21.1.2012,  19:53 Найти цитируемый пост)
Без самого плеера ссылку получить не получится.
так кто мешает эмитировать запрос плеера? smile

Автор: ksnk 21.1.2012, 19:02
Цитата(Gold Dragon @  21.1.2012,  18:59 Найти цитируемый пост)
так кто мешает эмитировать запрос плеера?

Процедура авторизации потребует наличие корректных ключей с обоих сторон.
Цитата(ksnk @  21.1.2012,  17:18 Найти цитируемый пост)
Авторизацию можно накрутить достаточно секретно. У клиента и сервера - пара ключей
-- ссылка для скачки формируется плеером в виде http://site.com/xxxxx/file.mp3
-- сервер перенаправляет его на http://site.com/yyyyy/file.mp3
-- плейер запрашивает файл по имени http://site.com/zzzzz/file.mp3 Это имя и является временной ссылкой.


Автор: Gold Dragon 21.1.2012, 19:14
ну это я понял.. Ну тогда нужна ещё и авторизация на сайте (ну по типу что бы точно знать кто, где и что пытается скачивать), иначе это как-то натянуто... Да и подмена таким образом адресов тоже не самым лучшим образом скажется на производительности... Хотя если один посетитель в сутки, то можно любое решение применить ;)

Автор: Absinthe 21.1.2012, 21:20
Цитата

Да и подмена таким образом адресов тоже не самым лучшим образом скажется на производительности...
 Нормальный антилич лишней нагрузки не делает. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)