• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Welcome to 陳俊峰's ---BeetleHeaded Man Blog !

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              58 隨筆 :: 32 文章 :: 18 評論 :: 0 Trackbacks
            防盜鏈原理:

              http標準協議中有專門的字段記錄referer

              一來可以追溯上一個入站地址是什么

              二來對于資源文件,可以跟蹤到包含顯示他的網頁地址是什么。

              因此所有防盜鏈方法都是基于這個Referer字段

              網上比較多的2種

              一種是使用apache文件FileMatch限制,在httpd.conf中增加 ( 其實也可以將把下面的語句存成一個.htaccess文件),并放到你的網站的根目錄(就是www/html目錄),這樣子別人就沒有辦法盜連你的東東了~~

              SetEnvIfNoCase Referer "^http://yahoo.com/" local_ref=1

              Order Allow,Deny

              Allow from env=local_ref

              Allow from 127.0.0.1

              這種很方便禁止非允許訪問URL引用各種資源文件

              請大家注意,把第一句"^http://yahoo.com/"改為你的網站,比如我的網站是: http://www.linji.cn

              我應該這么寫的

              "^http://www.linji.cn/"

              第二種是使用rewrite,需要增加apache的mode_rewrite,支持.htaccess文件目錄權限限制

              在虛擬主機根目錄增加.htaccess文件,描述從定向,把非本地地址refer的圖片文件都從定向到警告圖片或者警告網頁上。

              首先要確認你的服務器或空間的服務器解譯引擎為Apache2,還有支持.htaccess客戶設置文件,

              如果你有自己的服務器就請先對./conf/httpd.conf 文件做以下修改

              找到:#LoadModule rewrite_module modules/mod_rewrite.so

              把前面的 # 給去丟

              找到等一個 AllowOverride None 改為 AllowOverride All

              重啟Apache2服務器

              接下就是做一個 .htaccess 文件了,其 .htaccess 文件內容為

              RewriteEngine on

              RewriteCond %{HTTP_REFERER} !^http://aaoo.net/.*$ [NC]

              RewriteCond %{HTTP_REFERER} !^http://aaoo.net$ [NC]

              RewriteCond %{HTTP_REFERER} !^http://www.aaoo.net/.*$ [NC]

              RewriteCond %{HTTP_REFERER} !^http://www.aaoo.net$ [NC]

              RewriteRule .*.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://down.yoyo.com.ru/err.html [R,NC]

              其中有色的地方都是要改為你的:

              紅色:就是改為你提供下載頁面的地址,也就是只有通過這個地址才可以下載你所提供的東東。

              藍色:就是要保護文件的擴展名(以|分開),也就是說以這些為擴展名的文件只有通過紅色的地址才可以訪問。

              綠色:如果不是通過紅色的地址訪問藍色這些為擴展名的文件時就回重定向到綠色地址上。

              這個方法有個好處是,不同的虛擬主機用不同的描述定義。

              接下就是怎么用 .htaccess 文件來實現防盜鏈了。

              首先要在空間上建兩個目錄(當然目錄名隨你),一個為 web 另一個為 down ,

              web 是用來放下載頁面的(或下載程序),down 當然就是放你提供的東東的啦,

              把 .htaccess 文件的紅色部分改一下,改為http://你的域名/web。藍色部分

              改為你要保護文件的擴展名。綠色部分改為http://你的域名/web。改后保存

              .htaccess 文件把它上傳到 down 目錄。

              還有第三種:

              我在解決plog禁止盜鏈的時候,發現個問題,也算個好方法。

              plog把所有資源都自己管理起來,用resserver.php來動態顯示,這樣統一的入口方便添加權限操作。

              同時造成上面2種方法無法使用,因為不再是apache直接訪問資源文件,而是php通過文件讀取。

              因此只能在代碼中做手腳:在讀取資源文件輸出之前,加如下判斷代碼

              引用

              $referer = $_SERVER['HTTP_REFERER'];

              $selfurl = $_SERVER['HTTP_HOST'];

              if(false == strpos($referer,$selfurl))

              {

              echo '非法盜鏈!';

              exit(1);

              }

              這里有些偷懶,直接看引用地址中是否包含host地址,不過原理就是這樣,判斷referer是否是本站地址。

              我們常常在下載的時候,也碰到盜鏈網站無法下載,報盜鏈的問題。要下載這類文件最簡單的方法就是改referer

              比方flashget中,網址下面的"引用"一欄中,直接填寫下載地址就可以了。

            posted on 2006-05-11 13:35 Jeff-Chen 閱讀(172) 評論(0)  編輯 收藏 引用 所屬分類: 搜集的經驗教訓/資訊
            午夜福利91久久福利| 久久影视综合亚洲| 69久久精品无码一区二区| 久久久精品一区二区三区| 久久综合久久伊人| 日韩人妻无码一区二区三区久久 | 久久久久九九精品影院| 亚洲精品高清一二区久久| 97久久超碰成人精品网站| 人妻无码久久精品| 国产成人精品久久一区二区三区av| 一本大道久久香蕉成人网| 成人久久精品一区二区三区 | 久久午夜电影网| 久久久久久久波多野结衣高潮| 国产99久久精品一区二区| 国产欧美久久久精品影院| 久久国产精品免费| 亚洲一区二区三区日本久久九| 久久久亚洲AV波多野结衣| 无码精品久久一区二区三区| 久久精品国产影库免费看| 久久精品无码专区免费东京热 | 久久精品国产99久久久| 久久久噜噜噜久久中文字幕色伊伊| 国产成人无码精品久久久免费| 国产成人久久激情91| 久久久久亚洲AV无码麻豆| 午夜天堂精品久久久久| 狠狠色丁香久久婷婷综合图片| 欧美日韩精品久久久免费观看| 久久国产综合精品五月天| 国产精品伊人久久伊人电影| 9191精品国产免费久久| 国产巨作麻豆欧美亚洲综合久久| 91久久成人免费| 久久精品国产一区二区三区不卡| 久久99精品国产麻豆蜜芽| 精品无码久久久久久久久久| 国产视频久久| 久久久一本精品99久久精品88|