Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Запрет использования графики на сторонних сайтах

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


     20.10.2011    Общие вопросы по PHP    4827

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

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

Ответил: 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)

ПафНутиЙ
1065

3396 | 2434

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

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

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

Visitors91
13 | 13

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

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

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

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

ПафНутиЙ
1065

3396 | 2434

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

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

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

Visitors91
13 | 13

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

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

ПафНутиЙ
1065

3396 | 2434

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

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

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

slo
11 | 11

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
192

1659 | 1292

nowheremany - 12 октября 2012 14:11 - Эксперт

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

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

slo
11 | 11

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

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

hatchees
65 | 74

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

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

hatchees
65 | 74

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

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

slo
11 | 11

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

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

hatchees
65 | 74

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

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

OTM
13

70 | 77

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

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

slo
11 | 11

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

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

hatchees
65 | 74

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

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

hatchees
65 | 74

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

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

slo
11 | 11

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

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

OTM
13

70 | 77

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

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

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

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

slo
11 | 11

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

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

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

OTM
13

70 | 77

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

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

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

slo
11 | 11

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

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

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

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