10种图片防盗链的方法

应该是”10种图片防盗的方法“,而不是”10种图片防盗链的方法“,不过看搜索防盗链的人要多一点,所以就用这个关键词了:)

图片防盗和图片防盗链有什么区别呢?

  • 图片防盗: 是不想自己的图片被别人使用。
  • 图片防盗链: 是不想自己的图片被别人使用,且消耗的是自己的服务器流量。

图片防盗是困难的,完美的图片防盗那几乎是不可能的。但还是有很多方法能够减少图片盗用,下面是10种,选一种你喜欢的吧。

隐藏图片

使用空白图片覆盖真实图片

Protect Images Background Method

这个方法可以让别人无法获取真实的图片,除非查看源代码。

你可以把真实的图片做为背景图片,而使用一张透明图片匹配尺寸并覆盖到真实图片上面。

例如:

<div id="image1" style="background-image: url(originalImage.jpg);">
<img src="blank.gif" height="250px" width="300px">
</div>

这样,当别人使用右键查看或保存图片的时候,得到的是这张透明图片。

这里是2个 JavaScript框架可以实现这种图片防盗链方法:

自动截切图片

Super Simple Image Tiles

PHP Image Slicing

这是一个非常有效的图片防盗链方法.

它支持两种方案:

  • 让用户下载到的是被裁切过的图片。
  • 让用户下载到的是打上水印的图片。

当用户尝试下载图片的时候,它就会进行截切或添加水印操作,但是这个方法也有很大的劣势:

  • 造成太多的服务器请求负荷,对网站整体性能影响不好
  • 你将拥有许多的图片文件

使用带水印的图片 (预先生成)

预先给图片添加水印也是个防止图片被盗的有效方法,就算别人要盗,至少也为你免费宣传了一下自己的网站。

但缺点也来了:

  • 图片会看的不清楚或不美观了(这对于图片展示类的网站尤其重要,但又正是该类网站特尤其图片防盗)
  • 可以下载然后裁剪水印(当然,如果你是那种把水印放在图片中间或水印有图片这么1/3大的家伙,就不用担心这个问题了)

要手动添加水印的话,可以使用PhotoShop,GIMP,轻松水印等软件。也可以选择下面的一些亚博在线图片水印工具:

PicMarkr详细介绍

Online Watermarking

WatermarkTool

Online Watermark Website

延伸阅读: 8款为图片添加水印的软件

使用水印 (服务器端生成)

使用服务器端自动为图片添加水印,是件省心的事情。只是需要一些脚本知识。

下面是一些相关的各种脚本语言的示例方案:

Asido: PHP Image Processing Library

PHP Image Processing Library

Asido 是一个PHP图像处理库,可以运行于 GD2, Magick Wand 和 Image Magick.

这里Asido 为图片添加水印的详细说明.

其它PHP 解决方案:

ASP.NET 解决方案:

Ruby 解决方案:

P.S:俺偶尔良心发现的时候,会考虑一下版权问题: 这种自动添加水印的方法是为每一张力图片都添加水印,但是否有权利为每张图片都添加水印呢?除非所有的图片是自己原创。或许这也是国外给图片打水印的网站比较少的原因之一。

使用Flash来显示图片

swfIR (详细介绍)

swfIR

swf image replacement 可以让图片显示于Flash内部,让右键下载变的不可能。

并且,图片仍然可以使用CSS进行样式化。

缺点可想而知: 拖慢网页载入速度。

基于浏览器的图片防盗

禁用右键菜单

Disable Right Click

通过JavaScript来禁用点键菜单 是图片防盗的一个方法,但它仅仅是对于网络菜鸟来说,中等点的网民可以很轻松的查看到代码获取图片地址,再高等点的可以轻松破解,禁用你的禁用!

所以这并不是一个好方法,更重要的是它是极不利于用户浏览体验的。

这有一个折中的方法,你可以通过一个jQuery 插件 来实现仅仅禁用保存功能.

禁用IE6的图像工具条

Disable IE6 Image Toolbar

在IE6下,当鼠标悬浮在一张图片上时,会出现工具条,上面有保存功能,你可以使用下面的代码禁用:

<meta http-equiv="imagetoolbar" content="no">

你还有其它图片防盗的方法吗? 欢迎分享。

英文原文: 10+ Ways To Protect Images From Being Stolen | WRD

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Up Next:

CSS Sticky Footer: 完美的CSS绝对底部

CSS Sticky Footer: 完美的CSS绝对底部