用.htaccess來防圖檔文件被盜鏈

Share Button

以WordPress來說,後台:設定–固定網址,未更初始設定,根目錄裡的.htaccess檔案,只有三行

# BEGIN WordPress

# END WordPress

防盜鏈

若你改成其它的五種設定,那麼.htaccess檔案就會被更改,寫入一些東西,例如,我選數值式,.htaccess檔就變成

View Code TEXTDownload htaccess.txt
1
2
3
4
5
6
7
8
9
10
11
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
 
# END WordPress

httpd.conf裡的
LoadModule rewrite_module modules/mod_rewrite.so
若前面有註解#,也會被拿掉(Wamp預設值沒註解的)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{REQUEST_URI} !^/outlink
RewriteCond %{REQUEST_FILENAME} \.(gif|jpg|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} \.(rar|swf|flv|zip)$ [NC]
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !www\.chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !bbs\.chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !shop\.chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !google\.com [NC]
RewriteCond %{HTTP_REFERER} !google\.com\.hk [NC]
RewriteCond %{HTTP_REFERER} !baidu\.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky\.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo\.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner\.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines\.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo\.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia\.com [NC]
RewriteCond %{HTTP_REFERER} !soso\.com [NC]
RewriteCond %{HTTP_REFERER} !youdao\.com [NC]
RewriteCond %{HTTP_REFERER} !bing\.com [NC]
RewriteCond %{HTTP_REFERER} !sogou\.com [NC]
RewriteCond %{HTTP_REFERER} !technorati\.com [NC]
RewriteCond %{HTTP_REFERER} !pingomatic\.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo\.cn [NC]
RewriteCond %{HTTP_REFERER} !iask\.com [NC]
RewriteRule (.*) http://shop.chome.idv.tw/jpg/me.jpg [L,NC,R]
</IfModule>
# END WordPress

R 就是轉向的意思
NC 指的是不區分大小寫
L 的作用是指明本次轉向到此結束,後續的轉向不受先前判斷語句的影響

RewriteCond%{HTTP_REFERER}!^$

意為是否允許用戶在瀏覽器中直接輸入圖片或附件地址時顯示圖片或下載附件。此項可選,如果不允許可以刪除。通常建議允許,否則可能在用戶通過代理服務器訪問時出現問題。

RewriteCond %{HTTP_REFERER} !chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !www\.chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !bbs\.chome\.idv\.tw [NC]
RewriteCond %{HTTP_REFERER} !shop\.chome\.idv\.tw [NC]

這段代碼是添加允許鏈接的網站名稱,如你自己的網站(別忘了允許你自己的網站,當然還可以加入友站)

RewriteCond %{HTTP_REFERER} !google\.com [NC]
RewriteCond %{HTTP_REFERER} !google\.com\.hk [NC]
RewriteCond %{HTTP_REFERER} !baidu\.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky\.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo\.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner\.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines\.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo\.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia\.com [NC]
RewriteCond %{HTTP_REFERER} !soso\.com [NC]
RewriteCond %{HTTP_REFERER} !youdao\.com [NC]
RewriteCond %{HTTP_REFERER} !bing\.com [NC]
RewriteCond %{HTTP_REFERER} !sogou\.com [NC]
RewriteCond %{HTTP_REFERER} !technorati\.com [NC]
RewriteCond %{HTTP_REFERER} !pingomatic\.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo\.cn [NC]
RewriteCond %{HTTP_REFERER} !iask\.com [NC]

這段代碼是添加允許谷歌、百度等主要搜索引摯及FEEDSKY等RSS用戶訂閱網站鏈接。

RewriteCond %{REQUEST_FILENAME} \.(gif|jpg|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} \.(rar|swf|flv|zip)$ [NC]

這兩行代碼分別是防止盜鏈的圖片及附件的文件格式,可自行設定。

RewriteRule (.*) http://shop.chome.idv.tw/images/me.jpg [L,NC,R]

如果盜鏈的圖片或附件的文件名後綴是你上面設定的文件格式,則自動轉向此圖片(通常我們將此圖片制作成警告圖片或自己的WordPress宣傳圖片),轉向圖片不要放在防盜鏈的空間下,因為你已經使用了.htaccess防盜鏈,圖片別人是無法看到的。當然你也可以轉向到你的WordPress主頁或其他html頁面。如果僅僅是某個目錄下的圖片或附件防盜鏈,就可以轉向到你域名其他目錄下的圖片。總之,設置一個屬於自己需要的.htaccess防盜鏈屬性。

最後叮嚀一句:要重新啟動WAMP才能生效!!

參攷網址:驟雨打新荷

Share Button
本篇發表於 網路電腦 並標籤為 , 。將永久鏈結加入書籤。