只是想知道Flickr如何阻止人们从其网站下载图像?他们在用什么?
答案 0 :(得分:18)
图像上的透明.gif文件。您仍然可以通过查看HTML源并查找图像的实际URL来下载实际图像。
例如,随机图片: http://www.flickr.com/photos/34285128@N00/4300352607/
<img style="position:absolute;top:0px;left:0px;display:block" src="http://l.yimg.com/g/images/spaceball.gif" alt="" width="500" height="366">
这是顶部的透明图像。
<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。
下面答案 1 :(得分:0)
不是线程转储,但从概念上讲,如果你真的试图锁定下载图像,你可以(我认为)。使用像asp.net mvc这样的框架,您可以使用唯一键标记图像,将密钥存储在内存或其他形式的持久性中,并将其传递给客户端,并将id作为文件名。在返回端,根据文件请求,您可以拦截对图像的请求,并对与实际文件匹配的密钥执行查找。获得文件后,将图像作为自定义结果返回,并附带相应的元标记(至少在mvc中,不知道如何在其他地方执行此操作)。在您返回之前,您将结果标记为正在查看。
这将是服务器上的大量工作,但如果您将Flickr的透明gif技术与其结合使用,则需要花费大量精力才能阻止图像。
这个想法是在普通视图上发出单个请求,并且任何进一步尝试直接查看图像(通过查看源和抓取网址)都将被阻止。
&LT; ./ threadump&GT;
对不起,刚想出来并希望将它添加到已经回答的问题(睡眠匮乏和所有爵士乐)。