搜尋
首頁CMS教程DEDECMSdedecms 軟體下載頻道怎麼防盜鏈

dedecms 軟體下載頻道怎麼防盜鏈

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 src="http://pstatic.xunlei.com/js/webThunderDetect.js"></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=&#39;$aid&#39; 
"; 
$arcRow = $dsql->GetOne($gquery); 
if(is_array($arcRow)){ 
$arctitle = $arcRow[&#39;title&#39;]; 
$arcurl = GetFileUrl($aid,$arcRow[&#39;typeid&#39;],$arcRow[&#39;senddate&#39;],$arctitle,$arcRow[&#39;ismake&#39;],$arcRow[&#39;arcrank&#39;],$arcRow[&#39;namerule&#39;],$arcRow[&#39;typedir&#39;],$arcRow[&#39;money&#39;]); 
}else{ 
$dsql->Close(); 
ShowMsg("无法获取未知文档的信息!","-1"); 
exit(); 
} 
$cu = new ChannelUnit($arcRow[&#39;channel&#39;],$aid); 
if(!is_array($cu->ChannelFields)) { 
$cu->Close(); 
$dsql->Close(); 
ShowMsg("获取文档链接信息失败!","-1"); 
exit(); 
} 
$vname = ""; 
foreach($cu->ChannelFields as $k=>$v){ 
if($v[&#39;type&#39;]=="softlinks"){ $vname=$k; break; } 
} 
if(!is_array($cu->ChannelFields)) { 
$cu->Close(); 
$dsql->Close(); 
ShowMsg("获取文档链接信息失败!","-1"); 
exit(); 
} 
if(!strstr($_SERVER[&#39;HTTP_REFERER&#39;],$arcurl)) 
{ 
echo "<script language=&#39;javascript&#39;>location=\"$arcurl\";</script>"; 
} 
$row = $dsql->GetOne("Select $vname From ".$cu->ChannelInfos[&#39;addtable&#39;]." where aid=&#39;$aid&#39;"); 
$downlinks = $cu->GetAddLinks($row[$vname]); 
$dsql->Close(); 
$cu->Close(); 
$link = base64_decode($link); 
$thunderUrl = ThunderEncode($link); 
echo "<script>OnDownloadClick(&#39;".$thunderUrl."&#39;,&#39;&#39;,location.href,&#39;07231&#39;,2,&#39;&#39;)</script>"; 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title><?php echo $arctitle?>下载地址列表</title> 
<link href="../templets/style/dede.css" rel="stylesheet" type="text/css" /> 
<link href="../templets/style/spage.css" rel="stylesheet" type="text/css" /> 
</head> 
</head> 
<body> 
<center> 
<div> 
<span>下载</span> 
<span><a href="/" _fcksavedurl="/">返回主页</a></span></div> 
<div> 
<div> 
<div>软件名称:<a href=&#39;<?php echo $arcurl?>&#39; _fcksavedurl=&#39;<?php echo $arcurl?>&#39; style=&#39;font-size:11pt&#39;><?php echo $arctitle?></a></div> 
</div> 
<div class=""> 
<div> 
<div>

下載位址清單: 

<div><a href=&#39;<?php echo $thunderUrl?>&#39; _fcksavedurl=&#39;<?php echo $thunderUrl?>&#39; style=&#39;font-size:11pt&#39;>点这里右键使用迅雷下载-><?php echo $arctitle?></a></div> 
</div> 
</div> 
</div> 
</div> 
</center> 
</body> 
</html>

補充: 

1.本軟體頻道防盜鏈功能必須在軟體頻道設定中設定 

連結顯示方式: 要求進入下載網址清單頁 

#2. 如果範例的情況與您網站的不同,您也可以手動修改您的/plu​​s/download .php 

修改方法如下: 

找到: 

$row = $dsql->GetOne("Select $vname From ".$cu->ChannelInfos[&#39;addtable&#39;]." where aid=&#39;$aid&#39;");

在他的上面加上 

if(!strstr($_SERVER[&#39;HTTP_REFERER&#39;],$arcurl)) 
{ 
echo "<script language=&#39;javascript&#39;>location=\"$arcurl\";</script>"; 
}

這樣就可以了.  

以上是dedecms 軟體下載頻道怎麼防盜鏈的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!