Как блокировать внешние ссылки или получить от этого пользу ?
На одном из моих сайтов имеется обширная галерея. Однако в последнее время я стал обнаруживать слишком большую загрузку сервера (не соответствующую числу посетителей). При анализе логов я выяснил, что многие блоггеры не особо стесняясь включают в свои тексты картинки прямо с моего сайта, даже не перекачивая их к себе, что выливается в дикую итоговую загрузку МОЕГО сервера.
Я полагаю, что есть куча методов выхода из данной ситуации и даже обращения её в свою пользу. Но что вы бы посоветовали ?
Дополнение #1: >>> блокировать ip-адреса нежелательных плагиаторов
Я устану за ними бегать.... но я могу блокировать доступ по REFERER. Хотя хотелось бы всё-таки поиметь пользу.
Ситуация осложняется также тем, что все картинки должны быть доступны в images.(googleyandexyahoo.*).com.
Насчёт подписей на картинках - круто, я тоже думал об этом, но это решение небыстрое (т.к. скрипт галереи не мой, придётся ковыряться). Я не хочу ставить подписи для посетителей, поэтому такие сложности.
Какие ещё есть идеи ?
Дополнение #2: >>> Можно одним махом программно изменить имена файлов картинок, дописать пару букв или цифр и поменять также урлы в бд, и у всех воришек картинки пропадут :)
Насчёт пропадания картинок - нет проблем, всегда можно успеть.
Дополнение #3: >>я стал обнаруживать слишком большую загрузку сервера
> все зависит на сколько хватает мощностей вашего сервера в калифорнии :)
Сервер в Германии, но это не имеет значения. Какой бы избыточной загрузка ни была, с краденного блоггерами траффика я не имею никакой выгоды. Тем более, что загрузка существенная.
Ответы (6)
RSSЕсть еще стопроцентный вариант, ставить быстро устаревающую куку при посещении страниц сайта и отдачу картинок производить при ее наличии. Проверять и отдавать, думаю, апачем можно, при помощи mod_rewrite, чтобы PHP пересылкой картинок не грузить. Нормальный посетитель при навигации постоянно получает эту куку и картинки отдаются, посетитель с чужого сайта получает свой редирект.
crimaniak
писать на картинках свой домен
Дополнение #1 по поводу пользы, я не вижу других вариантов, кроме как рекламировать свой домен
Можно одним махом программно изменить имена файлов картинок, дописать пару букв или цифр и поменять также урлы в бд, и у всех воришек картинки пропадут :)
Дополнение #2
>я стал обнаруживать слишком большую загрузку сервера
все зависит на сколько хватает мощностей вашего сервера в калифорнии :)
Anton_YAkushev
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(gifjpe?gpng)$ - [F,NC,L]
============
...и никаких картинок у врагов.
Про "выгоду" для себя можно говорить лишь как раз имея достаточный запас по нагрузке, например, отдавая какую-то "зазывающую" картинку всем "чужакам" . Для этого последняя строка будет другой:
-----
RewriteRule \.(jpgpnggif)$ http://site.ru/my_image.jpg [NC,R,L]
===
apple_rom
motakuji
Как направить в лес - можно выбирать самому: редирект, страничка, картинка о том как нехорошо воровать и т. д.
Самый броннебойный вариант - при вхождении в галлерею ставить параметр сессии, а при отдаче картинки его проверять.
+ обойти нереально
- все другие домены идут лесом, включаяя нужные
- картинка отдается скриптом
- надо самому формировать все заголовки к картинке, иначе она будет некешируемой (при старте сесси в php отсылаются соответствующие заголовки, их нужно будет "забить")
Enyby
— доступ по реферер можно не блокировать. наоборот, если он не совпадает с адресом Вашего сайта, выдавать картинку-заглушку с текстом: посмотреть картинку можно на сайте http://site.ru/;
— по юзерагенту дополнительно проверять ботов поисковых систем; им разрешать загрузку вне зависимости от реферера;
— всегда разные адреса картинок не будут способствовать популяризации сайте через googleimages/yandeximages и т. п.
вроде на всё ответил
ax64
Только зарегистрированные и авторизованные пользователи могут отвечать.