Защита изображений Magento - PullRequest
0 голосов
/ 17 ноября 2011

Хорошо, что magneto предлагает водяные знаки для изображений, поэтому изображение с водяным знаком будет отображаться как

http://www.yourwebsite.com/media/catalog/product/cache/1/image/de684549e4151748e56ee0dd7902c19f/m/y/my-first-image.jpg

Это хорошо. Но если кто-нибудь удалит часть URL кеша / 1 / image / de684549e4151748e56ee0dd7902c19f, чтобы он стал

http://www.yourwebsite.com/media/catalog/product/m/y/my-first-image.jpg

Он может просматривать изображение и копировать его. Как лучше всего справиться с этой проблемой?

Ответы [ 3 ]

1 голос
/ 18 ноября 2011

Вот как мне удалось это сделать.

Поместить файл .htaccess в папку media/catalog/ в Magento со следующим кодом

Options +FollowSymLinks  
RewriteEngine on  
#Following line allows the actual images to be accessed by admin end directly  
RewriteCond %{HTTP_REFERER} !^http://www.yourwebsite.com/.*$ [NC]  
#Following line allows the watermarked images to be accessed directly. Rule says that if URL does not contain cache  
RewriteCond %{REQUEST_URI} !(/cache/) [NC]  
#This is the page where visitor will be redirected if tries to access images directly.  
RewriteRule \.(gif|jpg)$ http://www.yourwebsite.com/do-not-try-to-steal-images.html/ [R,L]
0 голосов
/ 18 ноября 2011

Вы можете создать файл .htaccess в папке media / catalog со следующими строками:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^(.*?/cache.*)$ $1 [L]
RewriteRule ^(.*)$ $1 [F]

Это вернет пользователю 403, если они попытаются просмотреть исходный файл, но позволят им увидеть изображения, которые находятся в кэше.

Это прерывает предварительный просмотр изображений в админке, так как они отображают оригинальные файлы, а не сгенерированный эскиз.

0 голосов
/ 18 ноября 2011

Ну, создай себе свои изображения с водяным знаком !!! Таким образом, если кеш удаляется, кеш будет воссоздавать изображение из уже имеющего водяные знаки изображения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...