Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Запрет использования графики на сторонних сайтах

Запрет использования графики на сторонних сайтах


     20.10.2011    картинка, php    Все вопросы » Общие вопросы по PHP    6770

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

Например человек взял БигБар с моей ссылкой поставил на другом сайте а вместо картинки ему показывало (Типа запрещено блаблабла) ?

Ответил: Romario


Вот нашел на одном форуме статью,сам пользуюсь,ссылки не буду вставлять а просто скопировал текст,автор не указан так что выбирайте с вариантов которые вам подходят.
Как защитится от таких хитрожопых владельцев? Допустим ваш сайт www.thehun.net (уже нехуево)

Пропишите нижеследующие строки в файле .htaccess на своем сервере. Таким способом защитимся от хотлинка и средиректим хотлинкующих нас куда-нибудь нахерна файл nahui.html

Код:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://thehun.net.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.thehun.net.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://thehun.net:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.thehun.net:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://4.78.23.246.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://4.78.23.246:80.*$ [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ [url]http://www.thehun.net/nahui.html[/url]

Эти цифры - 4.78.23.246 - IP вашего сайта. Т.е. на сайт можно попасть тремя способами: набрав thehun.net, набрав www.thehun.net и набрав, если так удобней , в браузере [url]http://4.78.23.246[/url] (специально хана пинговал, блять, для реалистичности картины)

В файлике nahui.html можно написать что угодно - повесить консоли, дайлер, ну и просто по-человечески послать хотлинкующих вас нахуй.

Чтобы предотвратить хотлинк со всех сторонних доменов, и показать им только одну картинку (такая необходимость может возникнуть) напишите в .htaccess следующее:

Код:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?thehun.net\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.jpg [L]

Файл nohotlink.jpg, лежащий в папке images/ и будет там самая единственная картинка, которую мы покажем.

Чтобы защитится от хотлинка только от некоторых определенных доменов пропишите в .htaccess следующее:

Код:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite\.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite\.com/ [NC]
RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]

Будет возникать ошибочка 403 forbidden. Советую кстати заранее позаботится об обработке ошибок. Пишем в .htaccess следующее

Код:
ErrorDocument 404 [url]http://www.thehun.net/nahui.html[/url]
ErrorDocument 403 [url]http://www.thehun.net/nahui.html[/url]
ErrorDocument 500 [url]http://www.thehun.net/nahui.html[/url]

Это перенаправит все запросы к вашим картинкам на “consolehell.html”, за исключением тех, которые пришли с *yourdomain.com. Чтобы проверить эту установкувы можете пойти на Hotlinking.com и ввести урл картинки, которая теперь у вас под htaccess. Если картинки не увидите, значит все в порядке.
А вот так можно перенаправить все запросы к картинкам на [url]http://www.thehun.net/nahui.html,[/url] за исключение только тех, которые идут с вашего собственного домена thehun.net

Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://([a-z0-9-]+.)*yourdomain.com(:80)?(/.*)? [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ [url]http://www.thehun.net/nahui.html[/url] [L,R]

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

21 комментарий

ПафНутиЙ
Админ

ПафНутиЙ - 21 октября 2011 18:54 -

Отличный ответ!

Каков вопрос - таков и ответ. Просто помните об этом.

Visitors91
Юзер

Visitors91 - 21 октября 2011 23:08 -

напишите в .htaccess следующее:

В какой именно -) Тот что в корне или тот что в папке с шаблоном.

Спасибо большое.

ПафНутиЙ
Админ

ПафНутиЙ - 22 октября 2011 09:05 -

естественно тот, что в корне. Остальные файлы - просто защита от слива папок.

Каков вопрос - таков и ответ. Просто помните об этом.

Visitors91
Юзер

Visitors91 - 27 октября 2011 20:53 -

Я вставил в файл что написано, попробывал вставить картинку на другом сайте но она всё равно вставляется

ПафНутиЙ
Админ

ПафНутиЙ - 27 октября 2011 21:29 -

прямо так и вставляли как написано? или домен всё же на свой сменили?

Каков вопрос - таков и ответ. Просто помните об этом.

slo
Юзер

slo - 12 октября 2012 12:52 -

Чтобы защитится от хотлинка только от некоторых определенных доменов пропишите в .htaccess следующее:

Код:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite\.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite\.com/ [NC]
RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]


Подскажите, если сайтов много, то как писать?
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite1\.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite2\.com/ [NC]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite3\.com/ [NC]

или
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite1\.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite2\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite3\.com/ [NC]

nowheremany
Эксперт

nowheremany - 12 октября 2012 14:11 -

Мне инересно у Вас 2 варианта. И типа вы проверить не можете это???

Благодарность принимаю тут Связь

slo
Юзер

slo - 12 октября 2012 18:53 -

Могу, надеялась, что подскажут те, кто знает как правильно ;)

hatchees
Юзер

hatchees - 19 декабря 2012 16:19 -

А как на это посмотрят поисковые роботы?

hatchees
Юзер

hatchees - 19 декабря 2012 16:22 -

Да и зачем это нужно, если каждая картинка это ссылка на ваш сайт!

slo
Юзер

slo - 19 декабря 2012 19:34 -

hatchees, а если таких картинок несколько тысяч, то это еще и существенная нагрузка на сервер.

hatchees
Юзер

hatchees - 19 декабря 2012 20:26 -

Вы готовы отказаться от ссылки на свой сайт взамен на оптимизации нагрузки на сервер?

OTM
Юзер

OTM - 20 декабря 2012 02:31 -

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

slo
Юзер

slo - 20 декабря 2012 00:52 -

Мне два крупных украинских хостера закрывали сайт якобы потому что на него идет ддос атака, а на самом деле была нагрузка на сервер из-за картинок. Так что да, я готова отказаться от пару тысяч ссылок, потому что в конечном счете ссылки с картинок с говносайтов (извините) и всяких ли.ру мало интересны и мешают работе сайта.

hatchees
Юзер

hatchees - 20 декабря 2012 02:41 -

Нужно использовать нормальные хостинги.... тому пример ukraine.com.ua | oshq.ru ... ну и тому подобные а не ....

hatchees
Юзер

hatchees - 20 декабря 2012 02:43 -

Если посещаемость вашего сайта превышает хотя бы 5к юзеров, тогда вы спокойно можете оплатить выделенку даже за учет контекстной рекламы!

slo
Юзер

slo - 20 декабря 2012 03:23 -

Я на ней уже давно и все равно не вижу смысла "раздавать" картинки с сайта всем подряд. Любой уважающий себя человек может залить картинку к себе на сервер и дать ссылку на источник.

OTM
Юзер

OTM - 20 декабря 2012 03:28 -

я вам ещё раз повторяю: ни нагрузка, ни количество запросов от этого не изменятся, максимум можете сократить траффик за счёт подстановки очень лёгкого изображения.
вы же просто пишете правило которое говорит апачу "давай не ту картинку которую просят, а вот эту", но он всё равно принимает запрос, обрабатывает его, и возвращает результат, тем самым создаёт нагрузку. Единственное со временем станут ссылаться меньше => нагрузка перестанет расти.

Цитата: slo
Любой уважающий себя человек может залить картинку к себе на сервер и дать ссылку на источник

Не любой, у некоторых тупо не будет возможности, и вы сами сталкивались с такой проблемой:
https://dle-faq.ru/faq/common/2082-zagruzka-kartinok-na-server-v-kommentariyah.html
или ваши пользователи не уважающие себя люди?

slo
Юзер

slo - 20 декабря 2012 13:08 -

OTM, по первому пункту приведу простой пример. Я опубликовала новость, допустим в ней 10 картинок по 400кб, эту новость перепостили на другой сайт (не заливая к себе на сервер картинки), затем эту новость на том сайте просмтотрело 500-1000-5000 человек (а может и больше). Если это идет просто ссылка на источник - это один вопрос, а когда идут запросы на отображение картинки... думаю, ход моей мысли понятен. Или я не права?

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

OTM
Юзер

OTM - 20 декабря 2012 14:34 -

я то вас понимаю:
Цитата: OTM
Единственное со временем станут ссылаться меньше => нагрузка перестанет расти.

а вот вы меня нет.
По факту: нагрузка, на которую вы сетуете, сводится на нет настройкой сервера/сменой хостера. Всё остальное пойдёт только в ущерб вашему сайту. Тем не менее выбор принимать вам

slo
Юзер

slo - 20 декабря 2012 14:58 -

OTM, я вас поняла, спасибо.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх