[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Web - программирование / .htaccess /

Защита от hotlinking

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

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

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

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

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

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. Вот и все, на сэкономленные деньги купите себе халвы и наслаждайтесь!




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Web - программирование / .htaccess /

Защита include-модулей от несанкционированного доступа на сайте
14-11-2009   

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

Кол. просмотров: общее - 3190 сегодня - 0

Псевдостатика (mod_rewrite). Часть 2
14-11-2009   

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

Кол. просмотров: общее - 3070 сегодня - 0

Псевдостатика (mod_rewrite). Часть 1
14-11-2009   

Эта статья была написана мной во время разработки нового движка для сайта. Как и все пользователи интернета, я с некоторого времени (примерно год назад) стал замечать, что все больше и больше популярных сайтов переходят от url вида http://site.net?pid=general&id=5&s=98465 на псевдостатику или на ЧПУ (Человеку Понятный УРЛ)... подробнее

Кол. просмотров: общее - 2976 сегодня - 0

Файл .htaccess на службе у seo-оптимизатора
14-11-2009   

Во многих информационных материалах, которые мне когда-либо приходилось читать об этом служебном файле веб-сервера Apache, говорилось, в основном, о том, как правильно сконфигурировать сервер для качественной работы сайта... подробнее

Кол. просмотров: общее - 3432 сегодня - 0

Красивый URL
05-04-2009   

Многие начинающие веб-мастера встречаются с проблемой обработки длинных адресов в строке браузера. Например, у вас есть динамическая страница, которая обрабатывает запросы на скачивание файлов... подробнее

Кол. просмотров: общее - 3680 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects