[教學]利用.htaccess防止盜連圖片並顯示指定圖片

一般部落客最怕就是流量爆掉,大部分的情況都是圖片、檔案被別人盜連了。對方盜用你的精美圖片可以使得他的文章加許多分,但同時對方圖片所吃的流量、資源仍然是你的,等於一張圖片會重複吃你的流量。如果沒有作法預防措施等於你給這些人許多的機會還讓他們搶走你的訪客,且自己的流量會爆掉,還要花錢再增加流量,真是要不得。

最近蠻多人有這種困擾,上次在噗浪上香腸有提到自己圖片被許多人盜用導致流量高得嚇人,香腸最先是只把圖片網址換過,但殺氣總覺得這方法有點蠢且麻煩,所以殺氣決定利用百度的作法(盜用圖片時,顯示指定的圖片)。於是殺氣到cP後台稍為做一下研究,沒想到被我找到了,居然還可以指定顯示的圖片,傑克~這真是太神了!!

利用.htaccess防止圖片盜連並顯示指定圖片-演示圖

【效果】對方盜用你的圖片時,透過.htaccess裡的語法,指定顯示你指定的圖片(可以在不同主機)。這麼一來,對方的訪客想要看到圖片就必須到你的部落格來看(圖片上可以加上網址、站名)。

第一步:開啟在你主機根目錄的.htaccess《備1、2、3》

利用.htaccess防止圖片盜連並顯示指定圖片-開啟.htaccess

第二步:在現有語法的下方,加入下面的語法(需自行修改)。《備4、5》

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://ljm1914.net.ru/wp/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.shachi.tw/.*$ [NC]
RewriteRule .*.(jpg|gif|png|bmp)$ http://wgbbs.net.ru/no.png [R,NC]

【語法說明】

  • RewriteEngine:讓下面的rewrite功能打開或關閉。on是打開;off是關閉。
  • http://ljm1914.net.ru/wp/:你允許的網站,這些網站可不受此語法的限制
  • [NC]:no case的縮寫。意思是忽略大小寫,a-z和A-Z是沒有差別的。
  • jpg|gif|png|bmp:要限制這些副檔名
  • http://wgbbs.net.ru/no.png:當別人盜連時,要顯示該圖片的網址
  • [R,NC]:R:redirect的縮寫。意思是重新轉向,當該網址不在上述名單內,自動轉向至你指定的網址。

利用.htaccess防止圖片盜連並顯示指定圖片-加入語法

第三步:加入語法並存檔後,直接上傳回去主機覆蓋之前的檔案。

利用.htaccess防止圖片盜連並顯示指定圖片-儲存

【備1】如果主機根目錄沒有.htaccess,該怎辦

1-1.開始→程式集→附屬應用程式→記事本。

1-2.檔案→儲存檔案→檔名:.htaccess→儲存。

1-3.上傳到空間裡去。(部分空間和LP後台系統都不支持.htaccess)

【備2】如果我有本站、圖床,那我應該用哪一邊的.htaccess進行修改呢

:一般是開啟圖床裡的.htaccess,因為最主要是要防止圖床裡的圖片被盜連;如果你在本站上也有放圖片,也可以兩個一起使用。

【備3】.htaccess只需要放在根目錄,還是所有資料夾都要放

:一般來說是放在根目錄即可,它會對底下所有檔案都有效。如果你想有個資料夾例外,就必須在該資料夾裡再放上一個修改好的.htaccess,那麼根目錄的.htaccess並不會去干涉了,而是由該資料夾裡的.htaccess去控制的。

【備4】我允許的名單還有許多網址,該怎麼打語法

:重複使用下列語法即可,沒限制用幾次。記得把網址修改成你允許的網址。

  • RewriteCond %{HTTP_REFERER} !^http://www.shachi.tw/.*$ [NC]

【備5】指定要顯示的圖片可以使用放在自己主機的嗎

:一般不建議使用。就是因為怕自己主機流量會被拖垮,所以才選擇防盜連圖片。如果你指定的圖片又在自己主機上,那麼該張圖片一樣是吃你主機的流量,有用等於沒用。一般會建議你的圖片可放在免空青蛙photobucketPicasa Flickr……等。

本文作者: 有殺氣追殺你

個人介紹 | 查看其他文章

臉書留言()
一般留言(10)
  • 10
    Ivan

    謝謝您抽空回覆喔
    現在努力找適合的空間要當圖床,因為我現在是使用智邦的流量只有10G
    空間商已經來信說我的流量爆表了

    殺氣說:
    不用這麼客氣啦
    恩,確實要找個圖床來放圖片,不然空間真的很快會爆掉

  • 9
    Ivan

    請問一下您這個功能的後台有哪幾個空間商可以選擇呢?
    您最新文章所描述的Google Storage是否可以使用此功能?
    煩請不吝賜教

    殺氣說:
    大多空間都可以用(cP.DA.VP.XP…等),除LP後台例外
    Google Storage只是檔案空間,並不支持喔

  • Do you have twitter or facebook ? i will follow you friend

    殺氣說:
    i only have facebook
    shachi@shachi.net.ru

  • 7
    李明

    請教殺氣大大….有没有研究過用imagetiles自動切割圖片防盜鏈方法?

    今天看了下, 但不明白具體在空間上如何設置才能達到這種效果?

    有勞殺氣老大幫忙研究下….最好也做個教程給大家學習下

    …萬分感激! 等回复! 請其它懂的朋友也幫幫忙..
    ————————————

    它支持兩種方案:
    讓用戶下載到的是被裁切過的圖片。
    讓用戶下載到的是打上水印的圖片。

    imagetiles源碼程序下面介紹站有下載…

    英文介紹站:
    http://supersimple.org/imagetiles

    imagetiles源碼包下載
    http://supersimple.org/downloads/imagetiles.zip

    殺氣說:
    Hello,好久不見阿
    香腸在喘息應該已經幫你搞定了
    不過我剛剛一直在嘗試好像沒有用,可能是我作法有誤吧,我會再研究看看
    另外感謝你的提供囉

  • 就是要這個防盜連功能, 真是好用:)

    殺氣說:
    嗯啊,我現在網站就用這樣
    效果還蠻不錯的

  • 還有一點想請問一下?就是因為我圖床是photobuck ?您說的防盜連是改變我們主機的根目錄? 那我們修改= =?上 是不是就是要把photobuck鎖起來然後改我們wordpress擺放的子網站空間根目錄?

    殺氣說:
    關於這點,photobuck和樓上大大提到的Picasa都一樣
    兩者都只是圖空(只能上傳圖片),而並非圖床(通常是免空),所以無法使用此效果

  • 殺氣大大向您請教一下?您所謂的主機根目錄指的是 主要網址的根目錄?還是 我存放在主機分開多個子網站的根目錄裡?

    殺氣說:
    依你自己的狀況而定,建議你再仔細說明一下
    如果你只是要其中某幾個子網站有防盜連的功能,那就放在那幾個子網站的根目錄即可
    如果你想全部的子網站都有防盜連功能,那麼你只要放在最上頭的根目錄即可

  • 我想請問的是
    如果blog裡面的圖片
    是放在 Picasa
    那還可以用這方法嗎!?

    殺氣說:
    沒辦法做到喔
    因為Picasa算是圖空,並不支援.htaccess
    所以沒辦法利用這個方法喔

  • 你的防盜連的錯誤圖片(no.png)連不到 = =

    殺氣說:
    感謝你的提醒,告知
    000空間被刪除,最近幾天繁忙未再去找空間重新對應網址
    再來是想重新做張圖片,所以暫時不會去理它

  • 哈哈哈!!!
    我就是要這個~ 真是好用~

    殺氣說:
    恩阿,確實好用
    多加一步驟,少許多的麻煩,棒透了

發表留言