Apache 防盜煉的技術小結

2022-09-26 17:36:12 字數 2109 閱讀 4800

一. 遭遇盜鏈

個人**使用的是國外付費空間,有流量限制。今天是 2007.03.29,收到主機商的通知郵件,提醒我本月的流量即將超出配額。——超出流量,就要向萬惡的美帝資本家交銀子,嚇我一跳,平常**的流量根本使用不完,馬上檢視 awstats 的日誌分析,沒有發現什麼異常。於是把 access log 日誌拉下來,用逆火**日誌分析器檢查了一下站點盜鏈情況,發現本站的 深圳高交會之神州龍芯 cpu 映象記[**] 以及 香港2023年春季行(3) - 廟街風光等原創文章中的,被許多**直接盜鏈,造成流量占用大幅上公升。

國內**盜鏈成風,最倒霉的就是咱們這種使用付費主機有流量限制的個人了。沒辦法,只得加上了乙個簡單的反盜鏈(anti-leech)措施。我的伺服器是 apache,處理防盜煉比較簡單,解決之後,於是寫下這篇筆記。

二. 使用 rewrite 技術實現 apache 防盜煉

apache 防盜煉的第一種實現方法,可以用 rewrite 實現。首先要確認 apache 的 rewrite module 可用:能夠控制 apache httpd.conf 檔案的,開啟 httpd.conf,確保有這麼一行配置:

複製** **如下:

loadmodule rewrite_module modules/mod_rewrite.so

然後在找到自己**對應的 配置的地方,加入下列**:

複製** **如下:

servername jb51.net

# 防盜煉配置

防盜煉配置的說明

然後重新啟動 apache 伺服器即可。

有些使用者使用的是虛擬主機,沒有伺服器的控制權,無法修改 httpd.conf 檔案和重啟伺服器。那麼請確認你的虛擬主機支援.htaccess,將上面的配置寫入 .htaccess 檔案,放入根目錄或所在的目錄即可:

複製** **如下:

.htaccess 檔案的內容:

# 防盜煉配置

rewriteengine on

rewritecond % !^ [nc]

rewritecond % !^ [nc]

rewritecond % !^ [nc]

rewritecond % !^ [nc]

rewriterule .*\.(gif程式設計客棧|jpg|swf)$程式設計客棧 [r,nc]

注意:

1、httpd.conf 檔案裡的配置,是在 apache 啟動時一次讀取,效率很高

2、.htaccess 檔案裡的配置,每次訪問都需要讀取分析,效率很低。

三. 使用 setenvifnocase 和 access 技術實現 apache 防盜煉

另一種方式是利用 setenvifnocase 和 access。具體的**如下:

複製** **如下:

setenvifnocase referer "^" local_ref=1

setenvifnocase referer "^" local_ref=1

order allow,deny

allow from env=local_ref

將上述**,放入前面所講的 httpd.conf 或 .htaccess 檔案即可。

四. apache 防盜煉的技術小結

通過判斷 referer 變數的值,判斷或資源的引用是否合法,只有在設定範圍內的 referer,才能訪問指定的資源,從而實現了防盜煉(anti-leech)的目的。需要指出的是:不是所有的使用者**(瀏覽器)都會設定 referer 變數,而且有的還可以手工修改 referer,也就是說,referer 是可以被偽造的。本文所講的,只是一種簡單的防護手段。當然,應付一般的盜鏈也足夠了。

五. 參考buriefnaml資料

原文:本文標題: apache 防盜煉的技術小結

本文位址:

流技術小結

按照資料流的方向分,分為輸入流和輸出流 按照處理資料的單位來分,分為位元組流和字元流 按照功能來分,分為節點流和處理流 inputstream 位元組輸入流,實現類 fileinputstream outputstream 位元組輸出流,實現類 fileoutputstream file file ...

Apache防盜煉說明

最近,大家都比較關心防盜煉的問題,擔心安裝了supesite x space之後,開通部落格的朋友多了 首先,找到您的apache設定檔案,一般情況下在 usr local apache conf httpd.conf 或者apache 2.2 的 usr local apache2 conf ex...

使用apache防盜煉

組網結構 修改apache配置檔案httpd.conf 加入以下配置,防止外部 請求自己服務的資源 1.請求頭域裡要求帶有referer資訊.指定只有特定的 才可以訪問本服務資源.2.通過location指令指定匹配某一url生效.注意 location storageweb servlet pcd...