Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.

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

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

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

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

Рекомендованные сообщения

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

 

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

  • Автор

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

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 и редактируйте его конфиг.

  • Автор

ОК! Спасибо.

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

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

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

 

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

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

  • Автор

У меня вот что полностью прописано в .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. Лучше всего с этим обратится за помощью к хостеру.

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

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

  • Автор

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

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа → Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.