jlzzjlzz亚洲乱熟在线播放

系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 數據庫 > Access > 詳細頁面

使用.htaccess設置圖片防盜鏈的詳細方法

時間:2019-12-04來源:系統城作者:電腦系統城

對于虛擬主機用戶來說,最方便的莫過于利用.htaccess設置圖片防盜鏈了。上網搜了一下,.htaccess規則寫法很多,但是大部分的區別在于最后一行,下面我們先看看正確的.htaccess防盜鏈寫法,稍后我再詳細解釋一下最后一行的重點

真正有用的.htaccess寫法為

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !jb51.net [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !twitter.com [NC]
RewriteCond %{HTTP_REFERER} !facebook.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com.tw [NC]
RewriteCond %{HTTP_REFERER} !google.com.sg [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !mail.qq.com [NC]
RewriteCond %{HTTP_REFERER} !cn.bing.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .(png|jpg)$ /no.gif [R,NC,L]

我把.htaccess文件和no.gif文件一起上傳到了根目錄,注意看最后一行,當指定類型(png或jpg)的圖片出現在非上述列表中的網站時,圖片會自動替換成no.gif。

解釋一下上述語句:

1、RewriteCond %{HTTP_REFERER} !^$ [NC]
允許空“HTTP_REFERER”的訪問,即允許用戶在瀏覽器地址欄中直接輸入圖片地址時圖片文件的顯示。一般而言,這是可選的,不過,建議這么設置,如果強迫必須具有“HTTP_REFERER”才能訪問,可能會帶來某些問題,比如說在用戶通過代理服務器訪問時。

2、 RewriteCond %{HTTP_REFERER} !zhukun.net [NC]
設置允許訪問的HTTP來源,包括我們的自身站點、Google、Baidu、Bloglines、Feedburner、feedsky等。

3、 RewriteRule .(jpg|png)$ /no.gif [R,NC,L]
定義被盜鏈時替代的圖片,讓所有盜鏈 jpg、png 等圖片的網頁,顯示根目錄下的 no.gif 文件。注意:這里必須有一個“/”,而且no.gif件體積越小越好,越小就越節省流量。

4、說明一下其中的 R、NC 和 L
R 就是轉向的意思
NC 指的是不區分大小寫
L 指明本次轉向到此結束,后續的轉向不受先前判斷語句的影響

特別注意:不建議同時禁止gif|jpg|png這三種圖片文件,比如你已經禁止了gif,但是卻用了no.gif來替換盜鏈圖片,這樣肯定會出問題。如果你想同時禁止這三種類型,可以使用以下方法來解決:

RewriteRule .(gif|png|jpg)$ http://farm3.static.flickr.com/2743/4462030670_dc36df0e3d_o.png [R,NC,L]

即用其它服務器上(未設置過防盜鏈)的圖片來替換演示。

本方法已在Godaddy的免費空間上測試成功,再次聲明一下,清風小荷塘原創文章,轉載請標明來源。

下面是其它網友的補充,直接本地例外一個目錄

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/images
RewriteRule ^.*$ - [L]
RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|bmp|zip|rar|mp3|txt|png|wma|wmv)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !www.laoyao.me [NC]
RewriteCond %{HTTP_REFERER} !laoyao.me [NC]
RewriteCond %{HTTP_REFERER} !www.zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !www.google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !www.google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !www.google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.cn [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.cn [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !www.ask.com [NC]
RewriteCond %{HTTP_REFERER} !www.163.com [NC]
RewriteCond %{HTTP_REFERER} !www.yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !www.sogou.com [NC]
RewriteCond %{HTTP_REFERER} !www.soso.com [NC]
RewriteCond %{HTTP_REFERER} !www.sina.com.cn [NC]
RewriteCond %{HTTP_REFERER} !www.msn.com [NC]
RewriteCond %{HTTP_REFERER} !www.feedsky.com [NC]
RewriteCond %{HTTP_REFERER} !www.feedburner.com [NC]
RewriteRule (.*) /images/error.gif [R,NC,L]

代碼說明:代碼第二行,意思是將網站images目錄的權限打開,也就是說images文件夾下的圖片不進行防盜鏈,為什么呢?因為我們的盜鏈警告圖片放在這個目錄下,你要是不把這個目錄權限打開,那么別人盜鏈的時候,連這張盜鏈警告圖片也顯示不出來,只能顯示紅叉叉,這不是我們想要的效果。代碼第四行為需要防盜鏈文件的后綴名,可以自行根據需要修改。后邊那些代碼的意思是哪些網站可以不防盜鏈,都是一些搜索引擎之類的,還有自己站的網址。代碼最后一行為盜鏈時顯示的警告圖片。也可以將這張圖片存放到其他的網站,比如某些圖片存儲空間,這樣的話就可以更加節省本站流量了。

補充方法三:

.htaccess寫法為如下,下載本文的附件,附件中包括了PSD源文件。周到吧,為了不想再做圖片的,只要打開改一下網址就可以用了,當然也可以自己設計!國外虛擬主機流量太小,圖片防盜鏈接是必須做的。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !yziw.net [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !twitter.com [NC]
RewriteCond %{HTTP_REFERER} !facebook.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com.tw [NC]
RewriteCond %{HTTP_REFERER} !google.com.sg [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !mail.qq.com [NC]
RewriteCond %{HTTP_REFERER} !cn.bing.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .(gif|png|jpg)$ http://www.yziw.net/images/linkeldiy.png [R,NC,L]

注意:最后一行替換圖片要改成自己的

禁止圖片外鏈.htaccess文件下載

繼續補充一下

先解釋一下圖片防盜鏈和轉向:

Q 圖片防盜鏈有什么用?
A 防止其它網站盜用你的圖片,浪費你寶貴的流量。

Q 圖片轉向有什么用?
A 如果你的網站以圖片為主,哪天發現月底沒到流量就快用光了,那就可以利用圖片轉向,在不修改網頁的前提下,把圖片下載請求轉向到其它空間(比如試用主機),臨時過渡。

下面開始講解,比如你的圖片都在img目錄下,那就在該目錄下放一個名為 .htaccess 的文件,內容如下:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !chong4.com.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]

RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]

RewriteRule ^(.*)$ http:\/\/image.chong4.com.cn\/image\/$1 [L]

大概解釋一下:

RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !chong4.com.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]

這部分是判斷是否盜鏈,如果以上條件都成立(即訪問圖片的請求,既不是直接輸入網址,也不是來自chong4.com.cn,也不是來自zhuaxia.com,也不是來自google.com,也不是來自baidu.com,也不是來自bloglines.com 的話),就執行下列轉向:

RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]

意思是讓所有盜鏈 img 目錄下 jpg、gif、png、bmp、swf、jpeg 文件的網頁,顯示的圖片都用 image 目錄下的 replace.gif 圖片替換掉。注意替換顯示的圖片不要放在設置防盜鏈的 img 目錄下。

如果照上面的規則判斷出圖片請求不是盜鏈的,就執行以下轉向:

RewriteRule ^(.*)$ http:\/\/image.chong4.com.cn\/image\/$1 [L]

意思對 img 目錄下所有的請求都轉向到目標服務器,比如有個圖片原來的 url 是 http://www.chong4.com.cn/img/girl.jpg ,現在就會轉到 http://image.chong4.com.cn/image/girl.jpg 去。當然了你得先把原服務器 img 目錄下的文件統統拷貝到臨時服務器的 image 目錄下,轉向才會真正可用。起到的效果就是把原服務器圖片下載所占用的流量統統省下,讓臨時服務器來承受了。

分享到:

相關信息

  • 讓Apache 2支持.htaccess并實現目錄加密的方法

    讓Apache 2支持.htaccess并實現目錄加密的方法,這篇文章主要介紹了讓Apache 2支持.htaccess并實現目錄加密的方法,文中給出了詳細的方法步驟,并給出了示例代碼,對大家具有一定的參考價值,...

    2019-12-04

  • tomcat訪問(access)日志配置和記錄Post請求參數

    這篇文章主要介紹了tomcat訪問(access)日志配置和記錄Post請求參數,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    2019-12-04

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載