php防盜鏈的設(shè)置方法-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“php防盜鏈的設(shè)置方法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

堅(jiān)守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都宴會(huì)酒店設(shè)計(jì)小微創(chuàng)業(yè)公司專業(yè)提供成都定制網(wǎng)頁設(shè)計(jì)營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

做好防盜鏈工作能給網(wǎng)站服務(wù)器減少不少壓力,這里我們分享一種php防盜鏈的實(shí)現(xiàn)方法:

一般的下載的步驟:查找->輸出查找結(jié)果列表->進(jìn)入軟件詳細(xì)頁面->點(diǎn)擊下載按鈕->打開下載頁面->點(diǎn)擊下載,開始下載

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

首先在網(wǎng)站的公共文件里定義一個(gè)$key=sdkfjwojf32413這相當(dāng)于一個(gè)密鑰一樣

在下載頁面生成一個(gè)隨機(jī)數(shù):$certcode = '84615354' (每次打開生成的都不一樣)

然后用以上兩個(gè)變量和軟件的ID生成一個(gè)md5()加密串

然后生成軟件的真實(shí)下載地址:file.php?id=5&codekey=ksfjwofsdkfsf

這里的id是軟件的編號(hào)可以根據(jù)他從數(shù)據(jù)庫找到軟件地址 $codekey=md5($id.$certcode.$key)
然后把certcode保存到session里,

在file.php的參數(shù)里面得到的codekey和id再從公共文件里得到$key 再從session里得到$certcode

對(duì)codekey進(jìn)么驗(yàn)證,看是否正確,如果不正確就退出,否則就進(jìn)行如下操作

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

2、從數(shù)據(jù)庫里讀取軟件地址,然后讀取軟件內(nèi)容,并輸出(用PHP的文件讀取方法輸出要下載的軟件內(nèi)容而不是直接把地址給他下載)

這樣如果要下載,就必須打開你自己的下載頁面,從你的下載頁面打開地址才能進(jìn)行下載,而且下載地址每次都不一樣,因?yàn)樯傻碾S機(jī)數(shù)不一樣

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

拓展閱讀(具體實(shí)現(xiàn)):

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/";//下載地點(diǎn)1 
$ADMIN[url_2] = "";//下載地點(diǎn)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,比如我測(cè)試用的validatecode.rar在我的站點(diǎn)里面,則用以下代碼表示下載連接.

文件名?site=1&file=文件

2.服務(wù)器防盜鏈

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

//放置下載軟件的根目錄相對(duì)于當(dāng)前腳本目錄的相對(duì)目錄 
$fileRelPath = "../../software"; 
//例外允許連接的網(wǎng)址,注意:自身域名不需要填入,設(shè)定為肯定可以下載, 
// 空字符串("")表示直接輸入網(wǎng)址下載的情況 
$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)){ 
?>

其實(shí),反盜鏈方式也有不少, 這里只列出一個(gè)大概思想作為參考:

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

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

“php防盜鏈的設(shè)置方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

分享標(biāo)題:php防盜鏈的設(shè)置方法-創(chuàng)新互聯(lián)
當(dāng)前URL:http://muchs.cn/article2/eisoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、電子商務(wù)、軟件開發(fā)定制開發(fā)、品牌網(wǎng)站設(shè)計(jì)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站