Защита от hotlinking Защита сайта Статьи, информация, Создание сайтов в Рязани

Ул. Горького д.86, оф.14 Наш E-mail +7 (4912) 25-84-24
Создание сайтов в Рязани
Создание, раскрутка, оптимизация сайтов.
Главная | Статьи | Наши работы | Цены | Заказать | Контакты
Новости

18.04/2015
Разбработка мобильной версии Желтых Страниц Рязани
и доработка личного кабинета.

10.02/2015
Новый хостинг парнтер.

Разделы:
Изготовление сайтов

Оптимизация сайтов

Раскрутка сайтов

Размещение сайтов

Спецпредложения

Оригинальный подарок к новому году


Защита сайта
Как защититься от взлома сайта и хотлинка.

Защита от hotlinking



У меня появилась очень полезная для некоторых вебмастеров информация о .htaccess... Речь идет о том, чтобы ограничить использование картинок с вашего сервера нехорошими людьми. Зачем это надо? А надо это потому, что некоторые хостинги требуют оплаты за трафик.

Представьте себе ситуацию, когда один добрый, хороший и приятный во всех отношениях человек разместил на своем сайте коллекцию картинок - кадров из какого-нибудь популярного фильма. Картинки пользуются большой популярностью, народ активно смотрит их. Это, естественно, выливается в неплохой исходящий трафик с сервера. Для примера - этот сайт порождает трафика примерно на 5-6 Гб в месяц, и это при почти полном отсутствии картинок! Сайт же, ориентированный на картинки (ну не надо меня обвинять в поддержке XXX сайтов...), способен порождать трафик сотнями Гб. в месяц. И за все это надо платить (например, по 2.5 доллара за 1 Гб).

И вдруг этот чудесный, замечательный альтруист замечает, что трафик увеличился вдвое, при той же посещаемости. Следовательно, платить надо в два раза больше! Почему? Оказывается, какой-то крайне нехороший человек тоже сделал сайт с теми же картинками. Но, поскольку такие картинки в сети уже есть, нехороший человек решил заодно не тратить свой трафик и использовать картинки с хоста хорошего человека. И правда, тег img вовсе не запрещает использование картинок с других хостов, знай пиши полный путь. И радуется нехороший человек! Напакостил и счастлив.

Что же делать хорошему человеку? Закрывать сайт? Нет! Великий защитник человечества - .htaccess - приходит на помощь! Можно, оказывается, сделать так, чтобы картинки можно было использовать только тому хосту, на котором они находятся. И сделать это можно даже несколькими способами - либо через функции Apache, либо через mod_rewrite (модуль Apache, занимающийся перенаправлением на другие страницы).

Сначала посмотрим, как это можно сделать через mod_rewrite. Для этого надо определить, откуда пришел посетитель - если со своих страниц, то пустить его к картинке. Иначе - послать далеко и надолго, а лучше всего на спонсора :) Делается это через переменную HTTP_REFERER. Вот это надо приписать в .htaccess (решение проблемы с помощью mod_rewrite взято с сайта Master-X):

AuthUserFile /dev/null
AuthGroupFile /dev/null
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.webhowto.ru/
RewriteCond %{HTTP_REFERER} !^http://webhowto.ru/
RewriteCond %{HTTP_REFERER} !>http://www.webhowto.ru:80 [NC]
RewriteCond %{HTTP_REFERER} !>http://webhowto.ru:80 [NC]
RewriteRule /* http://www.YourSponsor.com/click.cgi [R,L]


А теперь представьте себе, как работает mod_rewrite. Вся проблема в том, что обработка запроса сервером происходит в несколько этапов. Вкратце: сначала Apache обрабатывает URL, а затем ставит им в соответствие файлы. Беда в том, что обработка .htaccess происходит уже после обработки URL, поэтому чтобы обработать инструкции mod_rewrite корректно, Apache делает два раза одно и то же. Естественно, это сильно тормозит сервер.

Есть более удобное решение. В httpd.conf в секцию, относящуюся к папке, либо в .htaccess можно добавить инструкции серверу не отдавать картинки незнакомым клиентам. Это делается так:

SetEnvIfNoCase Referer "^http://www.webhowto.ru" local_ref=1
<FilesMatch ".(gif|jpg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>


Ура! Работает! В смысле, не работает! :)

Остается добавить, что вы вполне можете точно так же сделать защиту не только для jpg и gif, но и для любых других файлов, см. документацию по Apache на предмет синтаксиса бокса FilesMatch. Вот и все, на сэкономленные деньги купите себе халвы и наслаждайтесь!

 

Автор: Михаил Соловьев


Дата публикации: 09/02/2015
Прочитано: 5268 раз
Дополнительно на данную тему:
Система защиты веб-портала. Часть 1
Система защиты веб-портала. Часть 2
Фильтрация данных в PHP
Методы проверки на правильность заполнения полей
Безопасное программирование на PHP
SQL взлом
Советы по защите сайта
Что же делать? Как защититься от хаксоров?
Как защитить сайт
Хранение файлов за пределами корневого каталога документов

Назад | Начало | Наверх