Запретить скачивание файлов с сервера

Web-lomaster
На сайте с 26.08.2012
Offline
107
2688

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

✔ Белая монетизация вашего трафика оффер Медиагет (http://goo.gl/dYsuIP) 3.5 руб за установку. Никаких пряток, санкций и фильтров!
J
На сайте с 20.02.2014
Offline
120
jkm
#1
Mad_Man
На сайте с 10.11.2008
Offline
162
#2

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

Web-lomaster
На сайте с 26.08.2012
Offline
107
#3

jkm, объясните пожалуйста как правильно его прописать для rar и zip файлов?

J
На сайте с 20.02.2014
Offline
120
jkm
#4

Замените site.ru на ваш домен и вставляйте правила разу после RewriteEngine On


RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?site\.ru/ [NC]
RewriteRule \.(zip|rar)$ - [F,L]
Web-lomaster
На сайте с 26.08.2012
Offline
107
#5
jkm:
Замените site.ru на ваш домен и вставляйте правила разу после RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?site\.ru/ [NC]
RewriteRule \.(zip|rar)$ - [F,L]

Сделал как написали, но все ровно скачивается файл с другого сайта. У меня скачивание файла происходит не через прямую ссылку, а через php по ID типа такого ссылка выглядит http://site.com/goi.php?i=NjQy&lnk=1? потом скрипт обрабатывает и отдается конечный файл. Из-за этого может не работать?

J
На сайте с 20.02.2014
Offline
120
jkm
#6

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

Замените шаблон в RewriteRule на такой:


RewriteRule goi\.php$ - [F,L]
Web-lomaster
На сайте с 26.08.2012
Offline
107
#7
jkm:
Если скачивание через отдельный скрипт то можно ограничить обращения к этому скрипту.
Замените шаблон в RewriteRule на такой:

RewriteRule goi\.php$ - [F,L]

Вот, так вроде сработало, только кидает на такую страницу

Forbidden

You don't have permission to access /goi.php on this server.
Apache/2.2.23 (CentOS) Server at site.com Port 80

, как можно сделать чтобы редиректило на главную?

J
На сайте с 20.02.2014
Offline
120
jkm
#8

Снова внести изменения в RewriteRule


RewriteRule goi\.php$ http://%{HTTP_HOST}/? [R=301,L]
Web-lomaster
На сайте с 26.08.2012
Offline
107
#9
jkm:
Снова внести изменения в RewriteRule

RewriteRule goi\.php$ http://%{HTTP_HOST}/? [R=301,L]

Вооот, так все работает как нужно. Посмотрим, упадет ли потребление трафика. Примного благодарен за потраченное время. И еще, почему не заработало правило для zip и rar? Потому что ссылка такая, а не прямая?

J
На сайте с 20.02.2014
Offline
120
jkm
#10

Шаблон применяется к строке запроса, а там было goi.php. Вот шаблон \.(zip|rar) и не работал.

Вот статья на хабре по .htaccess http://habrahabr.ru/company/sprinthost/blog/129560/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий