xandeadx.ru Блог музицирующего веб-девелопера

Разное → Запрет хотлинкинга с помощью nginx

Опубликовано в

Пример защиты от хотлинкинга изображений (hotlinking) на уровне nginx:

location ~* ^.+\.(jpg|jpeg|gif|png)$ {
  root /path/to/public_html;
  valid_referers none blocked server_names ~(yandex|google|yahoo|bing|facebook|fbcdn);
  if ($invalid_referer) {
    return 403;
  }
}

В директиве valid_referers перечисляются допустимые значения поля Referer:

  • none — Referer отсутствует.
  • blocked — Referer присутствует, но его значение удалено firewall-ом или прокси-сервером.
  • server_names — В Referer присутствует одно из имён сервера, указанное ранее в директиве server_name.

Так же в качестве параметра может выступать произвольная строка с именем сервера и регулярное выражение, начинающееся с символа ~. Подробнее в официальной документации.

Если нужно запретить хотлинкинг только с определённого хоста:

location ~* ^.+\.(jpg|jpeg|gif|png)$ {
  root /path/to/public_html;
  valid_referers ~.*site\.com.*;
  if ($invalid_referer = '') {
    return 403;
  }
}
Похожие записи

Комментарии RSS

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

Думаю логичнее было бы учитывая предыдущий комментарий сделать модуль к друпалу который бы описывал правила защиты от хотлинкинга определенных изображений иначе можно просто получить кучу проблем с индексацией картинок :)

Уточню: картинки индексироваться в общем могут, но на страницы выдачи типа этой http://goo.gl/nuXkx они уже не попадают. Режутся они оттуда по понятным причинам, в отличие от Гугла, Яндекс показывает картинку без загрузки сайта в фоне.

И valid_referers почему-то порой не помогают туда картинку протащить Перестраховываются возможно в Яндексе при формировании выдачи на случай, чтоб юзер мог себе ссылочку на картинку и в закладки добавить. В общем, прецеденты были, предупреждаю и вооружаю. Тем, кто выкладывает какие-нибудь эксклюзивные аналитические графики — можно не беспокоиться, а владельцам фотостоков или магазинов со всякими тканями/обоями (которые существенную долю трафа имеют с картиночных поисков) — защищаться надо при бдительном надзоре за картиночной выдачей.

А проучивать воришек с помощью .htaccess не вредно - cmsart.ru/?p=3652
(парсинг, блин)? (там заглушки вышли).
Как боты ПС к этому отнесутся.

все пишут что поисковики не любят копипаст, но на практике такие страницы упорно попадают в индекс, а временами вылазят выше оригинала :)

Неадекват Яша любит/не любит, Гуглу пока пофиг.

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании