程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 網站圖片防被盜的方法匯總

網站圖片防被盜的方法匯總

編輯:PHP綜合

圖片防盜: 是不想自己的圖片被別人使用。

圖片防盜鏈: 是不想自己的圖片被別人使用,且消耗的是自己的服務器流量。

圖片防盜是困難的,完美的圖片防盜那幾乎是不可能的。但還是有很多方法能夠減少圖片盜用,下面是10種,選一種你喜歡的吧。

隱藏圖片

使用空白圖片覆蓋真實圖片 

Protect Images Background Method 

這個方法可以讓別人無法獲取真實的圖片,除非查看源代碼。

你可以把真實的圖片做為背景圖片,而使用一張透明圖片匹配尺寸並覆蓋到真實圖片上面。

例如:

 <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/) 

PHP Image Slicing 

這是一個非常有效的圖片防盜鏈方法。

它支持兩種方案:

讓用戶下載到的是被裁切過的圖片。

讓用戶下載到的是打上水印的圖片。

當用戶嘗試下載圖片的時候,它就會進行截切或添加水印操作,但是這個方法也有很大的劣勢:

造成太多的服務器請求負荷,對網站整體性能影響不好

你將擁有許多的圖片文件

使用帶水印的圖片 (預先生成)

預先給圖片添加水印也是個防止圖片被盜的有效方法,就算別人要盜,至少也為你免費宣傳了一下自己的網站。

但缺點也來了:

圖片會看的不清楚或不美觀了(這對於圖片展示類的網站尤其重要,但又正是該類網站特尤其圖片防盜)

可以下載然後裁剪水印(當然,如果你是那種把水印放在圖片中間或水印有圖片這麼1/3大的家伙,就不用擔心這個問題了)

要手動添加水印的話,可以使用Photoshop,GIMP,輕松水印等軟件。也可以選擇下面的一些在線圖片水印工具:

PicMarkr(詳細介紹)(http://parandroid.com/picmarkr-online-add-to-the-picture-watermarking-services/) 

Online Watermarking 

WatermarkTool(http://www.watermarktool.com/) 

Online Watermark Website 

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

使用服務器端自動為圖片添加水印,是件省心的事情。只是需要一些腳本知識。

下面是一些相關的各種腳本語言的示例方案:

Asido: PHP Image Processing Library(http://asido.info/) 

PHP Image Processing Library 

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/) 

swfIR 

swf image replacement 可以讓圖片顯示於Flash內部,讓右鍵下載變的不可能。

並且,圖片仍然可以使用CSS進行樣式化。

缺點可想而知: 拖慢網頁載入速度。

基於浏覽器的圖片防盜

禁用右鍵菜單(http://www.dynamicdrive.com/dynamicindex9/noright.htm) 

Disable Right Click 

通過JavaScript來禁用點鍵菜單 是圖片防盜的一個方法,但它僅僅是對於網絡菜鳥來說,中等點的網民可以很輕松的查看到代碼獲取圖片地址,再高等點的可以輕松破解,禁用你的禁用!

所以這並不是一個好方法,更重要的是它是極不利於用戶浏覽體驗的。

這有一個折中的方法,你可以通過一個jQuery 插件 來實現僅僅禁用保存功能。

禁用IE6的圖像工具條 

Disable IE6 Image Toolbar 

在IE6下,當鼠標懸浮在一張圖片上時,會出現工具條,上面有保存功能,你可以使用下面的代碼禁用:

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

你還有其它圖片防盜的方法嗎? 歡迎分享。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved