По поводу Хотлинкинга

root
На сайте с 04.07.2006
Offline
196
568

Помогите с решением такого вопроса:

Необходимо делать "подмену" изображения для сайтов, которые выставили у себя его,

в основном нужны поисковики Гугл.картинки и Яндекс.картинки.

Например, изображение у меня на сайте 2000х1000 точек. Пользователи просматривают их + боты их видят, а когда изображение подставляется в выдаче поиска по картинкам - там появляется дополнительная надпись с адресом сайта посредине (типа копирайта).

Сами картинки выдаются через php-скрипт с подставлением нужных хедеров, поэтому нужно вычислить, откуда они грузятся через средства PHP.

Но загвоздка в том, что гугл не передает getenv("HTTP_REFERER"), getenv("HTTP_HOST") - он всегда одинаков - т.к. запрашивается php-скрипт фактически.

Вот и вопрос: какой параметр выловить? Чтобы определить, что картинка на данный момент не с моего сайта грузится.

Спасибо.

P.S. Через htaccess не вариант, т.к. реферера он тоже не видит (он пустой), и нужно подменять только определенные картинки, а не все изображения.

DM
На сайте с 17.01.2009
Offline
42
#1

Можно пойти от обратного, выводить копирайт когда нет реферера или когда реферер не с вашего домена.

DiAksID
На сайте с 02.08.2008
Offline
218
#2

не так давно кто то своё исследование на похожую тему выкладывал, то ли здесь, то ли в разделе поисковиков. покопайтесь, вроде бы в результате было описано пара приёмчиков...

show must go on !!!...
root
На сайте с 04.07.2006
Offline
196
#3
DzenM:
когда нет реферера или когда реферер не с вашего домена

да вот дело в том, что реферер пустой, даже когда с моего сайта грузится, не пойму, почему(

DiAksID:
было описано пара приёмчиков...

спасибо, почитаю :)

IL
На сайте с 20.04.2007
Offline
435
#4
root:
да вот дело в том, что реферер пустой, даже когда с моего сайта грузится, не пойму, почему(

Оно, конечно, от браузера зависит, но вообще не должно. конечно, есть шанс, что веб-сервер проксирующий (если Nginx стоит, например ) режет, но это ж его подкрутить требуется.. :)

А вот если не передаётся реферер - то отследить (если всё равно PHP задействован для отдачи картинки) можно по сессии/кукам - на страничке с текстом инфу пишем, а в картинке - проверяем (но не пишем).

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
vandamme
На сайте с 30.11.2008
Offline
672
#5

у гуглеца тоже не мог реферер вычислить, а задачу я такую решал

пришлось всем сайтам отдавать с водяным, а не только яндексу и гуглу, как этого я хотел.

вот мое решение /ru/forum/814195

предыстория /ru/forum/789511

root
На сайте с 04.07.2006
Offline
196
#6
ivan-lev:
на страничке с текстом инфу пишем, а в картинке - проверяем (но не пишем).

думал об этом, попробую!

Костный мозг
На сайте с 16.08.2011
Offline
101
#7

vandamme, как сайт поживает, Гугл за клоакинг такое решение не считает, все норм? Траф с картинок вернулся, как до злополучного обновления Гугл.Картинок и держится нормально?

Вот еще готовый вариант /ru/forum/comment/11441819;postcount=26

Только вам, root, нужно разобраться, почему у вас реферер всегда пустой

Я не сплю, потому что в Интернете кто-то не прав!
vandamme
На сайте с 30.11.2008
Offline
672
#8

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

[umka]
На сайте с 25.05.2008
Offline
456
#9

Можно роботам отдавать правильные картинки независимо от реферера.

Роботов, в свою очередь, определять по юзерагентам.

Т.е. всё реально сделать через .htaccess ... вот как-то так

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?example\.com/
RewriteCond %{HTTP_USER_AGENT} !Googlebot
RewriteCond %{HTTP_USER_AGENT} !YandexImages
RewriteRule \.(gif|png|jpg|jpeg)$ /access_denied.jpg
Лог в помощь!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий