Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 实现对源图像的保护_Javascript_Html - Fatal编程技术网

Javascript 实现对源图像的保护

Javascript 实现对源图像的保护,javascript,html,Javascript,Html,我在浏览时发现了这个 正如您所看到的,图像是受保护的,如果您浏览源图像,您将得到相同的消息 这是我第一次看到这一点,我想知道这是如何实现的?有人知道吗 受保护源图像的屏幕截图: 他们可能只是在服务器上存储了两个版本的图像,一个是“真实的”,另一个是通过Photoshop模板或其他方式添加的额外消息。然后,他们对标题进行检查,如: 如果对图像和参考的请求不是cars-database.com/* 然后提供“水印/$requestedImage$” 这可以通过Apache mod_重写规则、任何其

我在浏览时发现了这个

正如您所看到的,图像是受保护的,如果您浏览源图像,您将得到相同的消息

这是我第一次看到这一点,我想知道这是如何实现的?有人知道吗

受保护源图像的屏幕截图:


他们可能只是在服务器上存储了两个版本的图像,一个是“真实的”,另一个是通过Photoshop模板或其他方式添加的额外消息。然后,他们对标题进行检查,如:

如果对图像和参考的请求不是cars-database.com/*
然后提供“水印/$requestedImage$”

这可以通过Apache mod_重写规则、任何其他web服务器的规则系统或任何服务器端编程语言(如PHP、Python等)轻松实现。

下面是一个简单的示例,介绍如何在
nginx
中实现类似的功能:

location ~ \.(jpe?g|png|gif)$ {
     valid_referers none blocked mysite.com *.mysite.com;
     if ($invalid_referer) {
        rewrite ^ http://mysite.com/lowres$request_uri permanent;
    }
}

它没有受到保护。只需在新选项卡中打开图像。您将看到正常图像,但没有重叠消息。@Keessonema我使用的是Chrome,我看到的是保护,如果我下载它,图像就可以了。我将添加屏幕截图。可能是对REFERER标题的一些简单检查。我也使用chrome。您可以在新选项卡中打开该图像。(右键单击>在新选项卡中打开)您就有了想要的图像。@deceze:+1是的。您可以简单地使用devtools进行尝试。