Продолжаем бороться с хотлинками в Wordpress | 2 часть
Не все так просто, как казалось при написании предыдущей публикации. Нет, на самом деле задействованная защита от хотлинков прекрасно работает и блокирует изображения моего блога на чужих сайтах, но в список этих чужих сайтов попали также он-лайн просмотрщики RSS каналов.
Ранее поставленная задача усложнилась. Теперь она звучит так:
Защитить медиа-файлы на сайте (расширения .jpg .jpeg .gif .png .bmp .flv .swf) от загрузки браузерами, от которых приходит переменная HTTP_REFERER отличная от http://live.daemony.org/ (и его алиасов). Но применить эту защиту следует не вызывая дискомфорта читателей RSS ленты блога в частности тех, кто использует Google RSS Reader и ему подобные сервисы.
Самое быстрое и оптимальное решение, как мне кажется, отключить трансляцию изображений в RSS. В Wordpress это делается в меню: “Настройки -> Чтение” установкой пункта “Для каждой статьи в RSS-ленте отображать” -> “Анонс (выдержка из текста записи, без форматирования, картинок и ссылок. Обычно это одно-два предложения)“.
Однако, я считаю что транслировать в RSS поток “одно-два предложения” - не есть хорошо. Ведь читатели народ ленивый и реже проявляют заинтересованность к таким анонсам. Ведь, чтобы прочитать весь пост нужно пройти по ссылке на страницу с материалом, а это бывает иногда лень сделать (cужу по себе
). Поэтому вариант трансляции RSS в виде очень короткого анонса прибережем на самый крайний случай.
А пока вернемся к уже упоминаемому ранее плагину. Называется он hotlink protection, скачать его можно с сайта автора . Читаем readme.txt внутри архива:
=== Hotlink Protection === Contributors: Lim_Dul Tags: images, feed, protection Requires at least: 2.0.10 Tested up to: 2.1.3 Stable Tag: trunk == Описание == Предотвращает создание хотлинков изображений в Вашем блоге не нарушая при этом работу RSS читалок. RSS читалки получают альтернативный URL изображений, которые не защищены. Плагин требует mod_rewrite. == Установка == 1. Загрузите распакованную папку hotlink-protection в папку с плагинами на сервере wp-content/plugins. 2. Активируйте плагин. 3. Перейдите в "Настройки -> Hotlinking Protection" и укажите необходимые настройки. Все.
Плагин позволяет защитить конкретные директории сайта с изображениями, путем создания тех же mod_rewrite правил в файле .htaccess Тем не менее, плагин, если верить его автору, для всех RSS агрегаторов подменяет URL адреса защищаемых картинок сайта, делая их незащищенными.
Плагин я поставил перед написанием этого текста, но проверить его работу пока невозможно, поскольку feedburner, насколько я понимаю, кеширует уже имеющиеся у него ленты. Поэтому, если плагин действительно работает и корректно настроен, это станет заметно после опубликования новой (в частности этой) записи.
Пока, в качестве временной меры, в .htaccess пришлось добавить правила, разрешающие рефереры популярных RSS читалок:
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yandex.ru
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?feeds2.feedburner.com
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yahoo.com
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?msn.com
Какие домены стоит добавить еще?
* * *
Благодарности
Благодарю моих посетителей по имени Netspider, Fatality и Владимир Лапшин за то, что указали на наличие описанной проблемы.
* * *
UPD: через 5 минут
Проблема решена. Плагин hotlink protection, похоже, действительно исправно работает, превращая в ридерах URL’ы изображений вида:
live.daemony.org/путь/к/файлу.png
в
live.daemony.org/index.php?feedimage=путь/к/файлу.png
Рекомендуется к применению!
P.S.: Колупаясь в Гугле в поисках оптимального решения проблемы вида “хотлинки <–> RSS”, набрал комбинацию слов: “hotlinks защита wordpress“… Открылась довольно интересная картина - предыдущий пост вышел на первое месте. Как вышел - я не знаю.
Похожие публикации
Теги: feed, hotlink, rss, rss агрегатор, Wordpress, защита, плагин, подписка на rss, хотлинк



Все бы хорошо, и работает этот антихотлинк прекрасно, но вот только для картинок. Как только речь заходит об flv, оказывается, что размещать их на чужих сайтах можно без проблем - плееры в фф и опере не передают реферера. И черт знает что с этим делать, уже третий час бьюсь безрезультатно
А для яндекс картинок и гкгл картинок плагин закрывает доступ? Нужно чтобы картинки индексировались ПС.
А. Теперь понял.
Это
было временной затычкой.
После того, как отладил плагин, убрал эту строку.
превьюшки идут через index.php?feedimage=
ну а полноразмерные - директлинк
Ну у тя в .haccess’е прописано же:
т.е. в таком случае должно показывать полноразмерную картинку при переходе с ридера…
Посмотри в ридере различия в УРЛах превьюшек и полноразмерных изображений.