您好,登錄后才能下訂單哦!
本篇內容介紹了“php防盜鏈的設置方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
做好防盜鏈工作能給網站服務器減少不少壓力,這里我們分享一種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"; //例外允許連接的網址,注意:自身域名不需要填入,設定為肯定可以下載, // 空字符串("")表示直接輸入網址下載的情況 $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防盜鏈的設置方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。