图片防盗链: 是不想自己的图片被别人使用,且消耗的是自己的服务器流量。
图片防盗是困难的,完美的图片防盗那几乎是不可能的。但还是有很多方法能够减少图片盗用,下面是10种,选一种你喜欢的吧。
隐藏图片
使用空白图片覆盖真实图片
这个方法可以让别人无法获取真实的图片,除非查看源代码。
你可以把真实的图片做为背景图片,而使用一张透明图片匹配尺寸并覆盖到真实图片上面。
例如:
<div id="image1" style="background-image: url(originalImage.jpg)">
<img src="blank.gif" height="250px" width="300px">
</div>
这样,当别人使用右键查看或保存图片的时候,得到的是这张透明图片。
这里是2个 JavaScript框架可以实现这种图片防盗链方法:
dwProtector for MooTools(dwProtector for jQuery)
自动截切图片
Super Simple Image Tiles
这是一个非常有效的图片防盗链方法。
它支持两种方案:
让用户下载到的是被裁切过的图片。
让用户下载到的是打上水印的图片。
当用户尝试下载图片的时候,它就会进行截切或添加水印操作,但是这个方法也有很大的劣势:
造成太多的服务器请求负荷,对网站整体性能影响不好
你将拥有许多的图片文件
使用带水印的图片 (预先生成)
预先给图片添加水印也是个防止图片被盗的有效方法,就算别人要盗,至少也为你免费宣传了一下自己的网站。
但缺点也来了:
图片会看的不清楚或不美观了(这对于图片展示类的网站尤其重要,但又正是该类网站特尤其图片防盗)
可以下载然后裁剪水印(当然,如果你是那种把水印放在图片中间或水印有图片这么1/3大的家伙,就不用担心这个问题了)
要手动添加水印的话,可以使用PhotoShop,GIMP,轻松水印等软件。也可以选择下面的一些在线图片水印工具:
WatermarkTool
使用水印 (服务器端生成)
使用服务器端自动为图片添加水印,是件省心的事情。只是需要一些脚本知识。
下面是一些相关的各种脚本语言的示例方案:
Asido: PHP Image Processing Library
Asido 是一个PHP图像处理库,可以运行于 GD2, Magick Wand 和 Image Magick.
这里 是 Asido 为图片添加水印的详细说明。
1、图片不能显示,首先要看一下图片是不是http://开头的网络图片地址,如果不是,需要把图片下载到你网页下面相应的路径下才能显示。2、如果图片是http://开头,要看一下对方网站图片是不是做了防盗链设置,防盗链是不允许外部网站引用图片的。可以把完整图片地址复制粘贴到浏览器中直接打开,看看能否显示。
3、检查JS特效的兼容性,有一些JS代码需要放到服务器下通过完整网址才能使用的。