ДОСТИГНУТО:

01.11.2016-300 страниц в индексе Google;
19.01.2017-300 страниц в индексе Яндекса;
03.02.2017-40 ТИЦ;
05.02.2017- сайт принят в DMOZ каталог;

Защита сайта от Хотлинкинга (Hotlinking)

.

zashhitaЗащита сайта от Хотлинкинга

Всем привет.

Рад приветствовать Вас на страницах своего молодого авторского блога saytostroi.ru .

А знаете ли Вы, что такое Хотлинкинг (Hotlinking) и какой вред или польза от него может быть для вашего вэб-сайта? Если Вы не в курсе этого, то предлагаю Вам вкратце ознакомиться с понятием «хотлинкинга» и методами защиты от него.

Так, под понятием Хотлинкинг (Hotlinking), как правило подразумевается, включение на веб-страницы стороннего ресурса файлов изображений, которые находятся на вашем сайте. Как думаете, это хорошо или плохо?

Это хорошо в тех случаях, когда Вы сами хотите, чтобы к примеру при открытии страниц сторонних веб-ресурсов посетитель мог видеть какие-то фото, картинки, которые загружаются с вашего сайта, или, например, Вы содержите веб-сервер как общедоступное хранилище изображений, при этом свободно разрешая Хотлинкинг. Однако в таких случаях стоит принимать во внимание то, что при большом количестве ваших изображений и активном использовании хотлинкинга, нагрузка на ваш сервер (это особенно касается трафика) может оказаться уж очень огромной, что может привести либо к очень медленному открытию страниц вашего сайта, либо вообще к его недоступности.

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

Итак, вот пример защиты сайта от хотлинкинга при помощи .htaccess и mod_rewrite (модуля сервера Apache):

В приведенном примере Вам нужно заменить «vashsait\.org» на доменное имя своего сайта. Защита от хотлинкинга будет действовать в отношении файлов изображений с расширениями jpeg, jpg, gif, bmp, png.

При необходимости Вы конечно же можете добавить (или убрать) другие расширения, и не только для изображений, подставив их в строку №4, разделяя указанные там расширения символом вертикальной черты «|».

Однако, в связи с тем, что при использовании выше приведенного примера, при попытке хотлинкинга будет выдаваться ошибка 403 (403 Forbidden — доступ запрещен), то лучше применять немного другой подход, точнее чуть измененную логику, а именно, вместо «403-го» ответа позволить показывать изображение-заглушку, которой может служить либо конкретный графический файл минимального размера, например 1×1 пикселей, либо файл-изображение, которое будет гласить о том, что была попытка без разрешения «увести» картинку. Вот пример, в котором применяется использование файла-заглушки «zaglushka.gif»:

Вот еще пример, где реализована блокировка использования хотлинкинга только для двух конкретных серверов: livejournal.com и blogspot.com:

Если же на вашем хостинге используется веб-сервер Nginx и к его конфигурации (файл nginx.conf) у Вас есть доступ, то можно воспользоваться следующим специальным скриптом, который будет блокировать все хотлинки:

Подсказка:
в примере вместо подстрок «/your/path/to/» Вам нужно будет указывать конкретный путь, который используется непосредственно на вашем ресурсе.

Если же Вы захотите разрешить хотлинкинг (hotlinking) для некоторых сторонних сайтов, то можно немного изменить приведенный выше код и добавить проверку разрешенных сайтов по параметру «реферер», и для веб-сервера Nginx это будет выглядеть так:

Таким образом при помощи этого скрипта, добавленного в файл nginx.conf, будет разрешен хотлинкинг только для сайтов с реферером site1, site2 и site3.

Подсказка:
— Разрешенные «рефереры» перечисляются в строке:
valid_referers none blocked server_names ...
— Проверка «реферера» на предмет попадания его в список разрешенных осуществляется в условии:
if ($invalid_referer) { ... }

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

БЕРЕГИТЕ СЕБЯ!

 




лайк

Эти красотки хотят чтобы ты их жестко лайкнул и даже несколько раз твитнул!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *