Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Html Flickr如何阻止人们从网站下载图像?_Html_Image_Download - Fatal编程技术网

Html Flickr如何阻止人们从网站下载图像?

Html Flickr如何阻止人们从网站下载图像?,html,image,download,Html,Image,Download,只是想知道Flickr是如何阻止人们从其网站下载图像的?他们在使用什么?Transparent.gif覆盖图像。您仍然可以通过查看HTML源代码并查找图像的实际URL来下载实际图像 例如,随机图像: 这是顶部的透明图像 <img src="http://farm5.static.flickr.com/4057/4300352607_edcc5a4a9e.jpg" alt="Say It With Flowers by *sido* (back in a few days)." tit

只是想知道Flickr是如何阻止人们从其网站下载图像的?他们在使用什么?

Transparent.gif覆盖图像。您仍然可以通过查看HTML源代码并查找图像的实际URL来下载实际图像

例如,随机图像:


这是顶部的透明图像

<img src="http://farm5.static.flickr.com/4057/4300352607_edcc5a4a9e.jpg" alt="Say It With Flowers by *sido* (back in a few days)." title="" width="500" height="366" class="reflect">


这是实际的图像,显示在spaceball.gif下面。

不要线程转储,但从概念上讲,如果您真的试图阻止下载图像,您可以(我认为)。使用像asp.net mvc这样的框架,您可以用一个唯一的键标记图像,将该键存储在内存中或其他形式的持久性中,并将其以id作为文件名传递给客户端。在返回端,在请求文件时,您可以拦截图像请求,并对与实际文件匹配的密钥执行查找。一旦你有了这个文件,你就可以用适当的元标记(至少在mvc中,不知道你在其他地方是怎么做的)将图像作为一个自定义结果返回。但在返回之前,您需要将结果标记为正在查看

这在服务器上需要做大量的工作,但是如果您将Flickr的透明gif技术与之结合使用,任何人都需要付出大量的努力才能捕捉到图像

这种想法是,一个单一的请求将在一个普通的视图上发出,任何直接查看图像的进一步尝试(通过查看源代码并获取url)都将被阻止


抱歉,我刚刚想到了这个主意,想把它添加到已经回答过的问题中(睡眠衰退和所有的爵士乐)。

当然,任何有一点经验的人如果想要图像,都可以在10秒内绕过这个问题。任何不遵守缓存规则的客户端(或插件)仍然允许您从缓存中提取文件。否则,任何具有缓存或镜像功能的代理都可以保存所有关闭的文件。如果您最终能看到该文件,您可以通过这种或那种方式保存它。@jsoverson-对,您无法完全阻止保存该文件。即使代理上的缓存是静音的(因为每个文件请求都有一个唯一的文件名),您的计算机仍会接收该文件,因此可以通过缓存进行保存。这不是一个100%抵抗的解决方案,但我认为对于大多数情况,这种方法仍然是可靠的。另一种选择是flash/SL应用程序,该应用程序通过向服务器发送带有会话信息的远程请求来显示图像。
<img src="http://farm5.static.flickr.com/4057/4300352607_edcc5a4a9e.jpg" alt="Say It With Flowers by *sido* (back in a few days)." title="" width="500" height="366" class="reflect">