圖片防盜: 是不想自己的圖片被別人使用。
圖片防盜鏈: 是不想自己的圖片被別人使用,且消耗的是自己的服務器流量。
圖片防盜是困難的,完美的圖片防盜那幾乎是不可能的。但還是有很多方法能夠減少圖片盜用,下面是10種,選一種你喜歡的吧。
隱藏圖片
使用空白圖片覆蓋真實圖片
這個方法可以讓別人無法獲取真實的圖片,除非查看源代碼。
你可以把真實的圖片做為背景圖片,而使用一張透明圖片匹配尺寸並覆蓋到真實圖片上面。
例如:
<div id="image1" ><img src="blank.gif" height="250px" width="300px">
</div>
這樣,當別人使用右鍵查看或保存圖片的時候,得到的是這張透明圖片。
這裡是2個 JavaScript框架可以實現這種圖片防盜鏈方法:
dwProtector for MooTools(http://davidwalsh.name/mootools-image-protector-dwprotector)
dwProtector for jQuery(http://davidwalsh.name/image-protector-plugin-for-jquery)
自動截切圖片
Super Simple Image Tiles(http://supersimple.org/imagetiles/)
這是一個非常有效的圖片防盜鏈方法。
它支持兩種方案:
讓用戶下載到的是被裁切過的圖片。
讓用戶下載到的是打上水印的圖片。
當用戶嘗試下載圖片的時候,它就會進行截切或添加水印操作,但是這個方法也有很大的劣勢:
造成太多的服務器請求負荷,對網站整體性能影響不好
你將擁有許多的圖片文件
使用帶水印的圖片 (預先生成)
預先給圖片添加水印也是個防止圖片被盜的有效方法,就算別人要盜,至少也為你免費宣傳了一下自己的網站。
但缺點也來了:
圖片會看的不清楚或不美觀了(這對於圖片展示類的網站尤其重要,但又正是該類網站特尤其圖片防盜)
可以下載然後裁剪水印(當然,如果你是那種把水印放在圖片中間或水印有圖片這麼1/3大的家伙,就不用擔心這個問題了)
要手動添加水印的話,可以使用Photoshop,GIMP,輕松水印等軟件。也可以選擇下面的一些在線圖片水印工具:
PicMarkr(詳細介紹)(http://parandroid.com/picmarkr-online-add-to-the-picture-watermarking-services/)
WatermarkTool(http://www.watermarktool.com/)
使用水印 (服務器端生成)
使用服務器端自動為圖片添加水印,是件省心的事情。只是需要一些腳本知識。
下面是一些相關的各種腳本語言的示例方案:
Asido: PHP Image Processing Library(http://asido.info/)
Asido 是一個PHP圖像處理庫,可以運行於 GD2, Magick Wand 和 Image Magick.
這裡 是 Asido 為圖片添加水印的詳細說明。
其它PHP 解決方案:
Put watermark on images using PHP(http://www.phpjabbers.com/put-watermark-on-images-using-php-PHP20.Html)
Watermark your images with PHP 5 and GD(http://www.litewebsite.com/?c=19)
Watermark images on the fly in PHP(http://www.sitepoint.com/article/watermark-images-PHP/)
ASP.Net 解決方案:
Thumbnail and watermark images on the fly with ASP.Net(http://www.dmxzone.com/ShowDetail.ASP?NewsId=10287)
Watermarking Images in ASP.Net with an HttpHandler(http://blog.donnfelker.com/post/Watermarking-Images-in-ASPNET-with-an-HttpHandler.ASPx)
CoolWatermark (paid)(http://www.imagecomponent.Net/products/coolwatermark.ASPx)
Ruby 解決方案:
RMagick(http://rmagick.rubyforge.org/)
Watermarking your images with RMagick(http://snippets.dzone.com/posts/show/6014)
P.S:俺偶爾良心發現的時候,會考慮一下版權問題: 這種自動添加水印的方法是為每一張力圖片都添加水印,但是否有權利為每張圖片都添加水印呢?除非所有的圖片是自己原創。或許這也是國外給圖片打水印的網站比較少的原因之一。
使用Flash來顯示圖片
swfIR (詳細介紹)(http://parandroid.com/swfir-to-increase-your-web-page-picture-varIEty-of-special-effects/)
swf image replacement 可以讓圖片顯示於Flash內部,讓右鍵下載變的不可能。
並且,圖片仍然可以使用CSS進行樣式化。
缺點可想而知: 拖慢網頁載入速度。
基於浏覽器的圖片防盜
禁用右鍵菜單(http://www.dynamicdrive.com/dynamicindex9/noright.htm)
通過JavaScript來禁用點鍵菜單 是圖片防盜的一個方法,但它僅僅是對於網絡菜鳥來說,中等點的網民可以很輕松的查看到代碼獲取圖片地址,再高等點的可以輕松破解,禁用你的禁用!
所以這並不是一個好方法,更重要的是它是極不利於用戶浏覽體驗的。
這有一個折中的方法,你可以通過一個jQuery 插件 來實現僅僅禁用保存功能。
禁用IE6的圖像工具條
在IE6下,當鼠標懸浮在一張圖片上時,會出現工具條,上面有保存功能,你可以使用下面的代碼禁用:
<meta http-equiv="imagetoolbar" content="no">
你還有其它圖片防盜的方法嗎? 歡迎分享。