Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
vint

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

Recommended Posts

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

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

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

Share this post


Link to post
Share on other sites

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

 

Глобально хотлинк прикрепленных изображений запрещается правилами в .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\.

Share this post


Link to post
Share on other sites

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

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>

 

Правильно?

Share this post


Link to post
Share on other sites

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

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

 

Server: nginx

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

Share this post


Link to post
Share on other sites

ОК! Спасибо.

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

Share this post


Link to post
Share on other sites

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

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

 

Для 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;
		}
	}

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

Share this post


Link to post
Share on other sites

У меня вот что полностью прописано в .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>

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...