PHP防盜鏈的基本思想 防盜鏈的設定方法_php技巧

來源:互聯網
上載者:User

盜鏈是指服務提供者自己不提供服務的內容,通過技術手段繞過其它有利益的終端使用者介面(如廣告),直接在自己的網站上向終端使用者提供其它服務提供者的服務內容,騙取終端使用者的瀏覽和點擊率。受益者不提供資源或提供很少的資源,而真正的服務提供者卻得不到任何的收益。做好防止盜鏈的工作,是每個網站開發人員的重要工作。

做好防盜鏈工作能給網站伺服器減少不少壓力,這裡我們分享一種php防盜鏈的實現方法:

一般的下載的步驟:尋找->輸出尋找結果清單->進入軟體詳細頁面->點擊下載按鈕->開啟下載頁面->點擊下載,開始下載

我的方法就是在下載頁面做文章

首先在網站的公用檔案裡定義一個$key=sdkfjwojf32413這相當於一個密鑰一樣

在下載頁面產生一個隨機數:$certcode = '84615354' (每次開啟產生的都不一樣)

然後用以上兩個變數和軟體的ID產生一個md5()加密串

然後產生軟體的真實下載地址:file.php?id=5&codekey=ksfjwofsdkfsf

這裡的id是軟體的編號可以根據他從資料庫找到軟體地址 $codekey=md5($id.$certcode.$key)
然後把certcode儲存到session裡,

在file.php的參數裡面得到的codekey和id再從公用檔案裡得到$key 再從session裡得到$certcode

對codekey進麼驗證,看是否正確,如果不正確就退出,否則就進行如下操作

1、刪除session(再次開啟這個地址就無效了)

2、從資料庫裡讀取軟體地址,然後讀取軟體內容,並輸出(用PHP的檔案讀取方法輸出要下載的軟體內容而不是直接把地址給他下載)

這樣如果要下載,就必須開啟你自己的下載頁面,從你的下載頁面開啟地址才能進行下載,而且下載地址每次都不一樣,因為產生的隨機數不一樣

別的地方就算連到你的下載地址,也是下載不了的。

拓展閱讀(具體實現):

1.簡單防盜鏈

$ADMIN[defaulturl] = "http://www.vvschool.cn/404.htm";//盜鏈返回的地址 $okaysites = array("http://www.vvschool.cn/","http://www.siyizhu.com"); //白名單 $ADMIN[url_1] = "http://www.vvschool.cn/temp/download/";//下載地點1 $ADMIN[url_2] = "";//下載地點2,以此類推  $reffer = $HTTP_REFERER; if($reffer) { $yes = 0; while(list($domain, $subarray) = each($okaysites)) { if (ereg($subarray,"$reffer")) { $yes = 1; } } $theu = "url"."_"."$site"; if ($ADMIN[$theu] AND $yes == 1) { header("Location: $ADMIN[$theu]/$file"); } else { header("Location: $ADMIN[defaulturl]"); } } else { header("Location: $ADMIN[defaulturl]"); }?> 

使用方法:將上述代碼儲存為dao4.php,比如我測試用的validatecode.rar在我的網站裡面,則用以下代碼錶示下載串連.

檔案名稱?site=1&file=檔案

2.伺服器防盜鏈

3.軟體下載的防盜鏈方法

//放置下載軟體的根目錄相對於當前指令碼目錄的相對目錄 $fileRelPath = "../../software"; //例外允許串連的網址,注意:自身網域名稱不需要填入,設定為肯定可以下載, // Null 字元串("")表示直接輸入網址下載的情況 $excludeReferArr = array("www.wreny.com", "wreny.com"); chdir($fileRelPath); $fileRootPath = getcwd() ."/"; $filePath=$HTTP_GET_VARS["file"]; $url=parse_url($_SERVER["HTTP_REFERER"]); if($url[host]!=$_SERVER["HTTP_HOST"] && !in_array($referHost, $excludeReferArr)){ ?> 

其實,反盜鏈方式也有不少, 這裡只列出一個大概思想作為參考:

(1)IIS 反盜鏈, 利用ISAPI_Rewrite,可作為Windows下反盜鏈的一個解決方案;

(2) 圖片反盜鏈,在圖片中加入浮水印,雖然盜鏈者可以達到目的,但是卻也在為自己的網站做宣傳。

以上就是PHP防盜鏈的基本思想和設定方法,希望對大家的學習有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.