Страница 1 из 1
Как защитить форум от копирования ссылок на фотоматериалы? защита авторства
#1
Отправлено 03 Февраль 2015 - 10:04
Описываю суть проблемы. Некоторые авторы постов при размещении в них фотографий не хотят чтобы их фото было скопировано и размещено на др. форумах путем указания ссылок на это фото.
В админке, права доступа можно убрать чекбокс в "скачивание файлов". Сами же фотографии находятся например за февраль в uploads/monthly_02_2015. Далее идет путь к фото.
Можно ли как-то при копировании этого пути и вставки в др. форум сделать перенаправление и появлялось не само фото, а иконка с информацией о защите авторских прав?
В админке, права доступа можно убрать чекбокс в "скачивание файлов". Сами же фотографии находятся например за февраль в uploads/monthly_02_2015. Далее идет путь к фото.
Можно ли как-то при копировании этого пути и вставки в др. форум сделать перенаправление и появлялось не само фото, а иконка с информацией о защите авторских прав?
#3
Отправлено 03 Февраль 2015 - 14:01
Можно, но это настраивается на уровне сервера, и по одному фото указывать слишком геморно. Также зависит от того, какой линк для встраивания используется - прямой непосредственно на изображение или динамический.
Глобально хотлинк прикрепленных изображений запрещается правилами в .htaccess:
Добавить после RewriteEngine On
В корне форума создать файл hotlinking.jpg
Для исключения яндекса и гугла после:
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?mysite\.ru
следует добавить:
Глобально хотлинк прикрепленных изображений запрещается правилами в .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\.
#4
Отправлено 03 Февраль 2015 - 15:09
У меня прописано:
Я прописываю следующее:
Правильно?
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>
Правильно?
#5
Отправлено 03 Февраль 2015 - 17:49
Нужно вставить код там где указано - после RewriteEngine On, и больше ничего не нужно трогать. Зачем вы удалили реврайты форума и вставили хрен знает где?...
Если отсутствует RewriteEngine On - добавить его. Также следует отметить, что если стоит nginx вся статика как правило будет отдаваться им, а следовательно запросы до апача не дойдут и этот код не отработает. У вас как раз nginx стоит фронтендом:
Погуглите правила запрета хотлинкинга для nginx и редактируйте его конфиг.
Если отсутствует RewriteEngine On - добавить его. Также следует отметить, что если стоит nginx вся статика как правило будет отдаваться им, а следовательно запросы до апача не дойдут и этот код не отработает. У вас как раз nginx стоит фронтендом:
Server: nginx
Погуглите правила запрета хотлинкинга для nginx и редактируйте его конфиг.
#7
Отправлено 03 Февраль 2015 - 18:50
Я специалист в др. области. А этот форум вынужден вести.
Ну это понятно, все мы специалисты в других областях. Просто нужно читать внимательно.
Для 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; } }
Но тут зависит от того, как сконфигурирован у вас этот локейшин.
#8
Отправлено 03 Февраль 2015 - 19:14
У меня вот что полностью прописано в .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>
Но сейчас уже задумываюсь стоит ли ставить "заглушку". У самого на др. форумах ссылки размещены на мой. Если бы это можно было на определенный форум или тему форума, другое дело. А тут на весь ресурс получается.
#9
Отправлено 03 Февраль 2015 - 19:24
Не цитируйте пожалуйста длинные сообщения с кодом, а то страница превращается в нечитаемую портянку.
Это если бы у вас был голый апач, правила реврайта следовало вставлять здесь после RewriteEngine. А так как есть еще nginx, который наверняка настроен на то чтобы сам отдавать статику - графику, видео, javascript, css, то править нужно его конфиг. Обычно он располагается по адресу /etc/nginx/nginx.conf (зависит от операционной системы сервера). Конфиг nginx если не ошибаюсь можно править из панели управления хостингом если стоит IPSystems. Лучше всего с этим обратится за помощью к хостеру.
У меня вот что полностью прописано в .htaccess:
Это если бы у вас был голый апач, правила реврайта следовало вставлять здесь после RewriteEngine. А так как есть еще nginx, который наверняка настроен на то чтобы сам отдавать статику - графику, видео, javascript, css, то править нужно его конфиг. Обычно он располагается по адресу /etc/nginx/nginx.conf (зависит от операционной системы сервера). Конфиг nginx если не ошибаюсь можно править из панели управления хостингом если стоит IPSystems. Лучше всего с этим обратится за помощью к хостеру.
Сообщить об этой теме:
Страница 1 из 1