图像保护(确保用户不能窃取照片)


Image protection (making sure users can't steal photos)

我正在建立一个网络商店,为人们提供某些照片。在这个网站上,你可以(当然)查看你的照片。

因此,为了确保照片是安全的,不能直接从网站下载,我给我所有的图像html标签的代码为

oncontextmenu="return false;"

现在这保护照片从右键单击并保存它们。问题是,如果用户足够聪明,只需将照片拖到桌面上,他们仍然可以下载图片。

是否有一种(简单的)方法来保护这些图像免受所有形式的下载?

人们总会有办法在网站上下载图片。

你可以使用下面的JavaScript禁用拖动图像:

    $("#imagegallery").mousedown(function(){
        return false;
    });

但即使这样,你也可以直接查看源代码并搜索文件

我建议添加水印,使用已经制作的PHP类,它非常直接地将您的徽标添加到每个图像。

或者你可以只显示小的图像,让他们来找你的完整版本。

努法尔在他的评论中说的,真的。另一种解决方法是将图像显示为小分辨率的缩略图,在购买时提供完整分辨率的文件。

创建一个div/table,并设置该div/table的背景为所呈现的图像。在div/table中放置一个不可见(透明)1px X 1px的图像,并将其拉伸到div/table的大小。这样,他们就不能右键单击保存或拖动它。

你永远不能阻止任何人下载任何东西。但是这种方法是目前为止最流行的防止新手下载图片的方法。

将所有这些属性添加到img标签:

ondrag="return false"
ondragstart="return false"
oncontextmenu="return false"
galleryimg="no"
onmousedown="return false"

另外,如果要选择使图像打印更小,请将以下内容添加到img标签:

class="imgPrint"

并包含相关的CSS:

@media print
{
    .imgPrint
    {
        width: 40%;
    }
}

你也可以使用你的。htaccess文件:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+'.)?mysite'.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*'.(jpe?g|gif|bmp|png|jpg)$ /images/noway.jpe [L]

将上面的mysite文本更改为:

然后创建一个标题为:now .jpe的图像

上传到我的/image/文件夹。

请注意文件扩展名。jpe -这是因为。jpeg和。jpg文件现在被阻止出现在第三方网站

但是这个例外允许你显示你的自定义图像

就像Jleagle说的,使用

$("#imagegallery").mousedown(function(){
    return false;
});

限制用户拖动图像,但如果用户足够聪明,使用剪切工具s/他可以得到你的图像的剪辑,所以为了限制,放置一个半透明的div在你的图像上,在图像上放一个水印,但仍然然后用户可以看到在控制台的图像,所以要100%确定,我说在jpeg本身添加水印。