vint Posted February 3, 2015 Share Posted February 3, 2015 Описываю суть проблемы. Некоторые авторы постов при размещении в них фотографий не хотят чтобы их фото было скопировано и размещено на др. форумах путем указания ссылок на это фото.В админке, права доступа можно убрать чекбокс в "скачивание файлов". Сами же фотографии находятся например за февраль в uploads/monthly_02_2015. Далее идет путь к фото. Можно ли как-то при копировании этого пути и вставки в др. форум сделать перенаправление и появлялось не само фото, а иконка с информацией о защите авторских прав? Link to comment Share on other sites More sharing options...
newbie Posted February 3, 2015 Share Posted February 3, 2015 Хотлинк 1 Link to comment Share on other sites More sharing options...
siv1987 Posted February 3, 2015 Share Posted February 3, 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\. Link to comment Share on other sites More sharing options...
vint Posted February 3, 2015 Author Share Posted February 3, 2015 У меня прописано: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> Правильно? Link to comment Share on other sites More sharing options...
siv1987 Posted February 3, 2015 Share Posted February 3, 2015 Нужно вставить код там где указано - после RewriteEngine On, и больше ничего не нужно трогать. Зачем вы удалили реврайты форума и вставили хрен знает где?...Если отсутствует RewriteEngine On - добавить его. Также следует отметить, что если стоит nginx вся статика как правило будет отдаваться им, а следовательно запросы до апача не дойдут и этот код не отработает. У вас как раз nginx стоит фронтендом: Server: nginxПогуглите правила запрета хотлинкинга для nginx и редактируйте его конфиг. Link to comment Share on other sites More sharing options...
vint Posted February 3, 2015 Author Share Posted February 3, 2015 ОК! Спасибо.Я специалист в др. области. А этот форум вынужден вести. Link to comment Share on other sites More sharing options...
siv1987 Posted February 3, 2015 Share Posted February 3, 2015 Я специалист в др. области. А этот форум вынужден вести.Ну это понятно, все мы специалисты в других областях. Просто нужно читать внимательно. Для 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; } } Но тут зависит от того, как сконфигурирован у вас этот локейшин. Link to comment Share on other sites More sharing options...
vint Posted February 3, 2015 Author Share Posted February 3, 2015 У меня вот что полностью прописано в .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>Но сейчас уже задумываюсь стоит ли ставить "заглушку". У самого на др. форумах ссылки размещены на мой. Если бы это можно было на определенный форум или тему форума, другое дело. А тут на весь ресурс получается. Link to comment Share on other sites More sharing options...
siv1987 Posted February 3, 2015 Share Posted February 3, 2015 Не цитируйте пожалуйста длинные сообщения с кодом, а то страница превращается в нечитаемую портянку. У меня вот что полностью прописано в .htaccess:Это если бы у вас был голый апач, правила реврайта следовало вставлять здесь после RewriteEngine. А так как есть еще nginx, который наверняка настроен на то чтобы сам отдавать статику - графику, видео, javascript, css, то править нужно его конфиг. Обычно он располагается по адресу /etc/nginx/nginx.conf (зависит от операционной системы сервера). Конфиг nginx если не ошибаюсь можно править из панели управления хостингом если стоит IPSystems. Лучше всего с этим обратится за помощью к хостеру. Link to comment Share on other sites More sharing options...
siv1987 Posted February 3, 2015 Share Posted February 3, 2015 У самого на др. форумах ссылки размещены на мой.Можно добавить нужные сайты в исключения. Link to comment Share on other sites More sharing options...
vint Posted February 3, 2015 Author Share Posted February 3, 2015 к файлу nginx.conf есть доступ только через файловый менеджер. Там могу удалить только, а вот с редактированием вряд ли. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now