盜鏈是指服務提供商自己不提供服務的內容
做好防盜鏈工作能給網站服務器減少不少壓力
一般的下載的步驟
我的方法就是在下載頁面做文章
首先在網站的公共文件裡定義一個$key=sdkfjwojf
在下載頁面生成一個隨機數
然後用以上兩個變量和軟件的ID生成一個md
然後生成軟件的真實下載地址
這裡的id是軟件的編號可以根據他從數據庫找到軟件地址 $codekey=md
然後把certcode保存到session裡
在file
對codekey進麼驗證
這樣如果要下載
別的地方就算連到你的下載地址
拓展閱讀(具體實現)
- $ADMIN[defaulturl] = ";//盜鏈返回的地址
- $okaysites = array("
"); //白名單 - $ADMIN[url_
] = ";//下載地點 - $ADMIN[url_
] = "";//下載地點 以此類推 - $reffer = $HTTP_REFERER;
- if($reffer) {
- $yes =
; - while(list($domain
$subarray) = each($okaysites)) { - if (ereg($subarray
"$reffer")) { - $yes =
; - }
- }
- $theu = "url"
"_" "$site"; - if ($ADMIN[$theu] AND $yes ==
) { - header("Location: $ADMIN[$theu]/$file");
- } else {
- header("Location: $ADMIN[defaulturl]");
- }
- } else {
- header("Location: $ADMIN[defaulturl]");
- }?>
使用方法:將上述代碼保存為dao
文件名?site=
- //放置下載軟件的根目錄相對於當前腳本目錄的相對目錄
- $fileRelPath = "
/ /software"; - //例外允許連接的網址
注意:自身域名不需要填入 設定為肯定可以下載 - // 空字符串("")表示直接輸入網址下載的情況
- $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)){ - ?>
其實
From:http://tw.wingwit.com/Article/program/PHP/201311/20900.html