dedecms 軟件下載頻道怎么防盜鏈?
因網站改版,以前的好多網站都是鏈接到我們的內頁。導致達不到用戶體驗,也防止一些盜鏈我們資源的網站。
??
推薦學習:織夢cms
dede做軟件站有的缺點?
就是別人轉帖你的下載的時候直接轉帖http://www.xxx.com/plus/download.php………?
就是直接打開下載地址列表頁這種就可以下載了,耗費資源卻又帶不了用戶。?
經過研究,終于搞定了軟件頻道下載的防盜鏈,代碼發出來大家共享,希望能用的到?
改后的功能是?
假如軟件信息頁地址是:https://www.xxx.net/soft/1.htm?
下載地址連接是:https://www.xxx.net/plus/download.php?………?
判斷來路,?
如果不是https://www.xxx.net/soft/1.htm,?
直接跳轉到https://www.xxx.net/soft/1.htm?
如果來路是https://www.xxx.net/soft/1.htm 則展示下載地址?
說明下:下邊的代碼是直接復制我自己站上的,我啟用的是全站迅雷下載,打開就自動使用迅雷下載,你也可以做下小修改,不讓使用迅雷下載?
不使用迅雷的很容易修改:刪掉迅雷相關代碼,只引用$link就可以了?
需要修改的文件為 /plus/download.php?
演示:?
https://www.xxx.net/do/plus/download.php?open=0&aid=20975&cid=3?
必須從https://www.xxx.net/codes/20975.html這個頁面進入才正常?
代碼如下:
<script></script>? <?php require("encode.inc"); ?>? <?php require_once(dirname(__FILE__)."/../include/config_base.php"); require_once(dirname(__FILE__)."/../include/inc_channel_unit.php"); if(!isset($open)) $open = 0; if(!isset($aid)) $aid = ""; $dsql = new DedeSql(false); //讀取文檔基本信息 $arctitle = ""; $arcurl = ""; $gquery = "Select dede_archives.title,dede_archives.senddate,dede_archives.arcrank, dede_archives.ismake,dede_archives.typeid,dede_archives.channel,dede_archives.money, dede_arctype.typedir,dede_arctype.namerule From dede_archives left join dede_arctype on dede_arctype.ID=dede_archives.typeid where dede_archives.ID='$aid' "; $arcRow = $dsql->GetOne($gquery);? if(is_array($arcRow)){? $arctitle?=?$arcRow['title'];? $arcurl?=?GetFileUrl($aid,$arcRow['typeid'],$arcRow['senddate'],$arctitle,$arcRow['ismake'],$arcRow['arcrank'],$arcRow['namerule'],$arcRow['typedir'],$arcRow['money']);? }else{? $dsql->Close();? ShowMsg("無法獲取未知文檔的信息!","-1");? exit();? }? $cu?=?new?ChannelUnit($arcRow['channel'],$aid);? if(!is_array($cu->ChannelFields))?{? $cu->Close();? $dsql->Close();? ShowMsg("獲取文檔鏈接信息失敗!","-1");? exit();? }? $vname?=?"";? foreach($cu->ChannelFields?as?$k=>$v){? if($v['type']=="softlinks"){?$vname=$k;?break;?}? }? if(!is_array($cu->ChannelFields))?{? $cu->Close();? $dsql->Close();? ShowMsg("獲取文檔鏈接信息失敗!","-1");? exit();? }? if(!strstr($_SERVER['HTTP_REFERER'],$arcurl))? {? echo?"<script>location="$arcurl";</script>";? }? $row?=?$dsql->GetOne("Select?$vname?From?".$cu->ChannelInfos['addtable']."?where?aid='$aid'");? $downlinks?=?$cu->GetAddLinks($row[$vname]);? $dsql->Close();? $cu->Close();? $link?=?base64_decode($link);? $thunderUrl?=?ThunderEncode($link);? echo?"<script>OnDownloadClick('".$thunderUrl."','',location.href,'07231',2,'')</script>";? ?>? nbsp;html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">? ? ? <meta>? <title> <?php echo $arctitle?>下載地址列表</title>? <link>? <link>? ? ? ? <center>? <div>? <span>下載</span>? <span><a>返回主頁</a></span> </div>? <div>? <div>? <div>軟件名稱:<a>'?_fcksavedurl='<?php echo $arcurl?>'?style='font-size:11pt'><?php echo $arctitle?></a> </div>? </div>? <div>? <div>? <div> <p>下載地址列表:?</p> <pre class="brush:php;toolbar:false"><div><a>'?_fcksavedurl='<?php echo $thunderUrl?>'?style='font-size:11pt'>點這里右鍵使用迅雷下載-><?php echo $arctitle?></a></div>?
?