Запретить загрузку файлов с чужого домена

Эту статью я написал для того, чтобы Вы не попали, например, в такое положение как попал недавно сайт http://haikunews.org после публикации статьи о достижениях в разработке Java для BeOS. Cлучился тотальный перебор лимита исходящего траффика. Сайт разместил у себя видеофайл, показывающей работу Java под BeOS, а ссылку на него у себя поместил весьма читаемый сайт OsNews. В результате исходящий траффик оказался порядка 123 GB за сутки. Сайт HaikuNews никем не спонсируется и держится на личном энтузиазме и сбережениях полубезработного Криса Симмонса (Technix). И теперь за превышение траффика он должен выложить 640 USD. По возможности зайдите на сайт и покликайте рекламные линки, в частности от Google, это хоть как то поможет. Как видите, от такого рода ситуаций не кто не застрахован, поэтому пора задуматся самим.

 

Практическое решение:

Одним из универсальных вариантов для многих может стать применение htaccess файла, который конфигурирует функции Rewrite Engine Apache сервера. Для начала создадим пустой текстовый файл htaccess.txt и напишем в нем:

RewriteEngine o­n RewriteCond %{HTTP_REFERER}! ^$

RewriteCond %{HTTP_REFERER}! ^http://(www.)?pcnews.biz/.*$ [NC]

RewriteRule .(jpg|gif|bmp|png|css|mov|swf|dcr|exe|rar|zip)$ - [F]

Во второй строчке замените DNS адрес pcnews.biz на свой

В третей строчке стоят атрибуты файлов, запрещенных для использования без исходящих ссылок с вашего сайта.

Скопируем файл в корневую директорию на хостинг и переименуем его в. taccess

В результате пользователи, пришедших с других сайтов не скачают эти файлы а попадут на вашу страницу 403 ошибки с сообщением «нет прав доступа».

Для самых изысканных посоветую удалить из нашего запрещенного списка атрибут bmp файлов. Они все равно объемны и не применимы в Интернете. Потом нарисуйте картинку, которая будет отображаться вместо указанных файлов и измените файл . taccess таким образом:

RewriteEngine o­n RewriteCond %{HTTP_REFERER}! ^$

RewriteCond %{HTTP_REFERER}! ^http://(www.)?pcnews.biz/.*$ [NC]

RewriteRule .(jpg|gif|png|css|mov|swf|dcr|exe|rar|zip)$ http://www.pcnews.biz/images/no_reffer.bmp [L]

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

Воровать не хорошо!

Если по каким-либо причинам пойдут ошибки, закачайте на хостинг пустой .htaccess файл и все вернется в исходные значения.

 

Автора автора