Перейти к содержанию

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

Доброго утра!

 

Знающие, подскажите, пожалуйста.

Хочу защитить все картинки из папки image/catalog/papka/file.jpg от просмотра по прямым ссылкам. Добавил файл .htaccess в папку image/catalog/papka, в нём указал "Deny from all". 

 

Всё хорошо, картинки больше не открываются по прямым ссылкам.

 

Но! Картинки также не будут открываться и при запросе "из движка". Пока они в кэше - всё хорошо. Вдруг я очищу кэш - движок не сможет пройти в папку image/catalog/papka и взять нужные картинки. Как разрешить движку читать картинки, а всем остальным - нет?

 

Есть выделенный IP адрес. Если я укажу его:

 

Order allow,deny
Deny from all
Allow from <--ip-->

Будет ли движок видеть эти картинки? Или как то по другому нужно это сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работам отдаю только кэш картинки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Не забудьте поправить мой модуль экспорта в YML

catalog/controller/feed/yandex_yml.php должно быть

$ORIGINAL_IMAGES = false;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Gann сказал:

Картинки также не будут открываться и при запросе "из движка"

 

срочно идти почитать теорию вебсервера хотя бы на уровне "для чайника".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Gann сказал:

Доброго утра!

 

Знающие, подскажите, пожалуйста.

Хочу защитить все картинки из папки image/catalog/papka/file.jpg от просмотра по прямым ссылкам. Добавил файл .htaccess в папку image/catalog/papka, в нём указал "Deny from all". 

 

Всё хорошо, картинки больше не открываются по прямым ссылкам.

 

Но! Картинки также не будут открываться и при запросе "из движка". Пока они в кэше - всё хорошо. Вдруг я очищу кэш - движок не сможет пройти в папку image/catalog/papka и взять нужные картинки. Как разрешить движку читать картинки, а всем остальным - нет?

 

Есть выделенный IP адрес. Если я укажу его:

 


Order allow,deny
Deny from all
Allow from <--ip-->

Будет ли движок видеть эти картинки? Или как то по другому нужно это сделать?

 

Заглушка ставится на уровне сервера, с помощью настройки файла .htaccess или nginx.conf. Код, который необходимо вставить в .htaccess:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?server\.ru/ [NC]
RewriteCond %{REQUEST_URI} !null\.gif$ [NC]
RewriteRule \.(jpg|jpeg|gif|bmp|png)$ http://i.imgur.com/qX4w7.gif [L]

То же самое для nginx.conf:

location ~* ^.+\.(jpg|jpeg|gif|png)$ {
     root /path/to/root;
     valid_referers none blocked server_names ~\.server1\. ~\.server2\.;
     if ($invalid_referer) {
       rewrite ^ http://i.imgur.com/qX4w7.gif last;
     }
   }

Теперь при каждом обращении к файлу изображения сервер будет проверять с какого сайта пытаются загрузить изображение. Если не с Вашего, то подставляет изображение http://i.imgur.com/qX4w7.gif. Примечание: я понятия не имею как это будет работать с поисковыми системами. Если кто-нибудь объяснит, буду рад и добавлю сюда.

Взято отсюда 

 

Изменено пользователем flai0616
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, flai0616 сказал:

 

Заглушка ставится на уровне сервера, с помощью настройки файла .htaccess или nginx.conf. Код, который необходимо вставить в .htaccess:


RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?server\.ru/ [NC]
RewriteCond %{REQUEST_URI} !null\.gif$ [NC]
RewriteRule \.(jpg|jpeg|gif|bmp|png)$ http://i.imgur.com/qX4w7.gif [L]

То же самое для nginx.conf:


location ~* ^.+\.(jpg|jpeg|gif|png)$ {
     root /path/to/root;
     valid_referers none blocked server_names ~\.server1\. ~\.server2\.;
     if ($invalid_referer) {
       rewrite ^ http://i.imgur.com/qX4w7.gif last;
     }
   }

Теперь при каждом обращении к файлу изображения сервер будет проверять с какого сайта пытаются загрузить изображение. Если не с Вашего, то подставляет изображение http://i.imgur.com/qX4w7.gif. Пример работы посмотреть можно здесь. Примечание: я понятия не имею как это будет работать с поисковыми системами. Если кто-нибудь объяснит, буду рад и добавлю сюда.

 

Не то)

 

Открыть в браузере по прямой ссылке изображение - вот это нужно запретить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Gann сказал:

 

Не то)

 

Открыть в браузере по прямой ссылке изображение - вот это нужно запретить.

Понял) Ну я так понял смысл в защите от копирования? А если схитрить?)

"Если вы пользуетесь редактором Adobe Photoshop, этот способ вам понравится (а если нет – ему легко научиться). Наложение прозрачного слоя несложно осуществить: создается прозрачное изображение одного размера с уникальным изображением и накладывается на его передний план с помощью html или css. Изображение на странице ничем не будет отличаться от обычных, Но, после его сохранения, плагиатчик увидит на компьютере не желаемую добычу, а верхний слой. Easy, как говорится!"

Взято отсюда https://singree.com/blog/9-tips-to-protect-your-images-copyrights/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, nikifalex сказал:

срочно идти почитать теорию вебсервера хотя бы на уровне "для чайника".

 

спасибо, обязательно)

 

 

В общем:

1. background-image: url (/image/papka/file.jpg)

2. htaccess c 

Deny from all

в папке /image/papka/

 

3. Как сделать, чтобы показывалось на сайте, но не было доступно по прямой ссылке https://site.ru/image/papka/file.jpg

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видел такой вариант

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?site.ru [NC]

RewriteRule \.(jpg|JPG|jpeg|png|gif)$ - [NC,F,L]

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Order deny,allow
Deny from all
<FilesMatch "(icon|cart|logo|bioptron-logo5).png">
allow from all
</FilesMatch>

Нужно вот так было))

Всем спасибо, вопрос решён. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.