保护Magento图像

时间:2011-11-17 11:08:21

标签: magento

磁铁提供图像水印是很好的,因此水印图像将显示为

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

这很好。但是,如果有人删除了缓存/ 1 / image / de684549e4151748e56ee0dd7902c19f网址的一部分,那么它就会变成

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

他可以查看图像并复制它。什么是应对这个问题的最佳方法?

3 个答案:

答案 0 :(得分:1)

这就是我设法做到的。

将一个.htaccess文件放在Magento的media/catalog/文件夹中,其中包含以下代码

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]

答案 1 :(得分:0)

好吧,用水印创建自己的图像!就像删除缓存一样,缓存将从已经加水印的图像中重新创建图像

答案 2 :(得分:0)

您可以在媒体/目录文件夹中创建一个.htaccess文件,其中包含以下行:

Options +FollowSymLinks
RewriteEngine on

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

如果用户尝试查看原始文件但让他们看到缓存中的图像,则会向用户返回403。

这会在管理员显示原始文件而不是生成的缩略图时中断预览图像。