freeBSD5.4下安裝配置apache2+php5+mysql5過程(freebsd9.3安裝教程)
2024-02-21
更新時間:2024-02-21 00:16:28作者:未知
防盜鏈原理:http標(biāo)準(zhǔn)協(xié)議中有專門的字段記錄referer一來可以追溯上一個入站地址是什么二來對于資源文件,可以跟蹤到包含顯示他的網(wǎng)頁地址是什么。因此所有防盜鏈方法都是基于這個Referer字段網(wǎng)上比較多的2種一種是使用apache文件FileMatch限制,在httpd.conf中增加 ( 其實也可以將把下面的語句存成一個.htaccess文件),并放到你的網(wǎng)站的根目錄(就是www/html目錄),這樣子別人就沒有辦法盜連你的東東了~~
SetEnvIfNoCase Referer "^http://aabbcc.com/" local_ref=1
|
第二種是使用rewrite,需要增加apache的mode_rewrite,支持.htaccess文件目錄權(quán)限限制
在虛擬主機(jī)根目錄增加.htaccess文件,描述從定向,把非本地地址refer的圖片文件都從定向到警告圖片或者警告網(wǎng)頁上。
首先要確認(rèn)你的服務(wù)器或空間的服務(wù)器解譯引擎為Apache2,還有支持.htaccess客戶設(shè)置文件,
如果你有自己的服務(wù)器就請先對./conf/httpd.conf 文件做以下修改
找到:#LoadModule rewrite_module modules/mod_rewrite.so
把前面的 # 給去丟
找到等一個 AllowOverride None 改為 AllowOverride All
重啟Apache2服務(wù)器
接下就是做一個 .htaccess 文件了,其 .htaccess 文件內(nèi)容為
RewriteCond %{HTTP_REFERER} !^http://aabbcc.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://aabbcc.com$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.aabbcc.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.aabbcc$ [NC] RewriteRule .*.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://www.aabbcc.com/err.html [R,NC] |
還有第三種:
我在解決plog禁止盜鏈的時候,發(fā)現(xiàn)個問題,也算個好方法。
plog把所有資源都自己管理起來,用resserver.php來動態(tài)顯示,這樣統(tǒng)一的入口方便 添加權(quán)限操作。
同時造成上面2種方法無法使用,因為不再是apache直接訪問資源文件,而是php通過文件讀取。
因此只能在代碼中做手腳:在讀取資源文件輸出之前,加如下判斷代碼引用
$referer = $_SERVER['HTTP_REFERER'];
|
這里有些偷懶,直接看引用地址中是否包含host地址,不過原理就是這樣,判斷referer是否是本站地址。
我們常常在下載的時候,也碰到盜鏈網(wǎng)站無法下載,報盜鏈的問題。要下載這類文件最簡單的方法就是改referer
比方flashget中,網(wǎng)址下面的"引用"一欄中,直接填寫下載地址就可以了。