通过右键单击保护图像免受下载

Protecting an Image from downloading by Right-Click

本文关键字:下载 图像 保护 右键 单击      更新时间:2023-09-26

EDIT:在回应许多评论时,我确实知道没有确定的方法可以完全保护图像不被下载。这种方法是为了防止临时用户通过简单的右键下载。最好的方法可能是简单地为你的图像申请版权,如果你非常担心的话,可以使用Digimarc这样的服务来为你的图像添加数字水印。现在看问题:

我遇到一个网站,使用GIF叠加在他们的实际图像,所以它保护图像从用户右键点击和下载图像(尽管你仍然可以从代码中抓取实际图像)。他们使用的代码是:

<div><img src="-Transparent GIF File-" alt="" width="530" height="558" 
border="0" original="-Actual Image Displayed-" /></div>

我的问题是original标签不是一个真正的标签,是由某种Javascript使用和翻译的。我想在我的网站上复制这个。有人能帮我找到这个脚本吗?

这毫无意义。如果浏览器显示了一个图像,它就可以被获取。任何阻止它的尝试都只是站点开销,可以非常容易地绕过

你最好的保护是在图片上加上版权声明。

在任何情况下,如果您真的想交换original属性,您可以…

$(function() {
var o = $('img').attr('original');
$('img').attr('src', o);
});

演示

但是…不做任何事情,以防止用户选择和保存图像绑定到original属性

一个更简单的解决方案是将所有这些属性添加到img标签中:

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

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

class="imgPrint"

并包含相关的CSS:

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

您也可以不使用原始标签:

http://rainbow.arch.scriptmania.com/scripts/no_right_click.html

见链接

我想这就是你想要的,这个链接可能对你有帮助。

这是我对图像的光保护的实现。

它将在图像(或文本)上创建一个透明的覆盖DOM元素。如果你禁用javascript,图像将被隐藏,如果你删除覆盖,图像将隐藏在鼠标上。此外,右键单击图像是禁用的。

你总是可以打印屏幕,从下载的资源中抓取,等等。这只会过滤最基本的下载方式。但是为了更方便的保护,你必须隐藏图像路径并渲染到画布对象。

您可以改进这一点,但总是有一个方法来获取图像。

在主要浏览器上测试并正常工作!

<div class="covered">
    <img src="image.jpg" alt="" />
</div>

JAVASCRIPT + JQUERY

$('.covered').each( function () {
    $(this).append('<cover></cover>');
    $(this).mousedown(function(e){ 
        if( e.button == 2 ) { 
            e.preventDefault();
          return false; 
        } 
        return true;
    });
    $('img', this).css('display', 'block');
    $(this).hover(function(){
        var el = $('cover', this);
        if (el.length <= 0) { 
            $(this).html('');
        }
    });
});
CSS

cover
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.covered
{
    position: relative;
}
.covered img
{
    display: none;
}