Skip to content

Как защитить форум от копирования ссылок на фотоматериалы?

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

В админке, права доступа можно убрать чекбокс в "скачивание файлов". Сами же фотографии находятся например за февраль в uploads/monthly_02_2015. Далее идет путь к фото.

Можно ли как-то при копировании этого пути и вставки в др. форум сделать перенаправление и появлялось не само фото, а иконка с информацией о защите авторских прав?

Featured Replies

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

 

Глобально хотлинк прикрепленных изображений запрещается правилами в .htaccess:

 

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?mysite\.ru
RewriteRule ^uploads/monthly_ /hotlinking.jpg [L,R]

Добавить после RewriteEngine On

В корне форума создать файл hotlinking.jpg

 

Для исключения яндекса и гугла после:

RewriteCond %{HTTP_REFERER} !^https?://(www\.)?mysite\.ru

 

следует добавить:

 

RewriteCond %{HTTP_REFERER} !^https?://www\.google\.
RewriteCond %{HTTP_REFERER} !^https?://(images\.)?yandex\.

  • Author

У меня прописано:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /index.php [L]
 </IfModule>

 

Я прописываю следующее:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://%{HTTP_HOST}/
RewriteRule ^uploads/monthly_ /hotlinking.jpg [L,R]
RewriteRule . /index.php [L] 
</IfModule>

 

Правильно?

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

Если отсутствует RewriteEngine On - добавить его. Также следует отметить, что если стоит nginx вся статика как правило будет отдаваться им, а следовательно запросы до апача не дойдут и этот код не отработает. У вас как раз nginx стоит фронтендом:

 

Server: nginx

Погуглите правила запрета хотлинкинга для nginx и редактируйте его конфиг.

  • Author

ОК! Спасибо.

Я специалист в др. области. А этот форум вынужден вести.

Я специалист в др. области. А этот форум вынужден вести.

Ну это понятно, все мы специалисты в других областях. Просто нужно читать внимательно.

 

Для nginx это будет выглядеть примерно так

 

	location ~* \.(jpg|jpeg|gif|png|bmp|ico|css|swf|js)$ {
		root /path/to/root;
		valid_referers none blocked server_names mysite.ru *.mysite.ru images.yandex.ru ~\.google\.;

		if ($invalid_referer) {
			rewrite ^(.*)$ /hotlinking.jpg redirect;
		}
	}

Но тут зависит от того, как сконфигурирован у вас этот локейшин.

  • Author

У меня вот что полностью прописано в .htaccess:

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(jpeg|jpg|gif|png)$ /public/404.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

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

Не цитируйте пожалуйста длинные сообщения с кодом, а то страница превращается в нечитаемую портянку.

 

У меня вот что полностью прописано в .htaccess:

Это если бы у вас был голый апач, правила реврайта следовало вставлять здесь после RewriteEngine. А так как есть еще nginx, который наверняка настроен на то чтобы сам отдавать статику - графику, видео, javascript, css, то править нужно его конфиг. Обычно он располагается по адресу /etc/nginx/nginx.conf (зависит от операционной системы сервера). Конфиг nginx если не ошибаюсь можно править из панели управления хостингом если стоит IPSystems. Лучше всего с этим обратится за помощью к хостеру.

У самого на др. форумах ссылки размещены на мой.

Можно добавить нужные сайты в исключения.

  • Author

к файлу nginx.conf есть доступ только через файловый менеджер. Там могу удалить только, а вот с редактированием вряд ли.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.