Heim  >  Artikel  >  CMS-Tutorial  >  So verhindern Sie Hotlinks im Dedecms-Software-Download-Kanal

So verhindern Sie Hotlinks im Dedecms-Software-Download-Kanal

藏色散人
藏色散人Original
2019-12-24 09:47:302459Durchsuche

So verhindern Sie Hotlinks im Dedecms-Software-Download-Kanal

Wie verhindert man Hotlinking im Dedecms-Software-Downloadkanal?

Aufgrund der Überarbeitung der Website wurden viele frühere Websites mit unseren internen Seiten verlinkt. Dies führt zu einer schlechten Benutzererfahrung und verhindert, dass einige Websites unsere Ressourcen stehlen.

Empfohlene Studie: Dreamweaver cms

Der Nachteil von Dede als Software-Site

ist, dass andere Ihre Downloads erneut veröffentlichen, wenn Direktes Reposten von http://www.xxx.com/plus/download.php...

Öffnen Sie einfach die Seite mit der Download-Adressliste und Sie können sie herunterladen. Es kostet viel Geld, ist aber nicht möglich Benutzer mitbringen.

Nachdem ich das Problem des Anti-Leeching für Software-Kanal-Downloads gelöst habe, habe ich den Code gesendet, um ihn mit allen zu teilen.

Die geänderte Funktion ist

Wenn die Softwareinformationen Die Seitenadresse lautet: https://www.xxx.net/soft/1.htm

Der Link zur Download-Adresse lautet: https://www.xxx. net/plus/download.php?.... .....

Bestimmen Sie den Ursprung,

Wenn es nicht https://www.xxx.net/soft/1 ist .htm,

Springen Sie direkt zu https ://www.xxx.net/soft/1.htm

Wenn die Quelle https://www.xxx.net/soft/1 ist .htm, die Download-Adresse wird angezeigt

Anleitung Weiter: Der folgende Code wird direkt von meiner eigenen Website kopiert. Ich habe den Thunder-Download für die gesamte Website aktiviert, die beim Öffnen automatisch den Thunder-Download verwendet. Sie können auch kleine Änderungen vornehmen, um die Verwendung des Thunder-Downloads zu verhindern.

Nein. Es ist einfach, Änderungen mit Xunlei vorzunehmen: Löschen Sie Xunlei-bezogenen Code und zitieren Sie einfach $link

Die Datei, die geändert werden muss ist /plus/download.php

Demo:

https://www.xxx.net/do/plus/download.php?open=0&aid=20975&cid=3

Muss von https://www.xxx.net/codes/20975.html heruntergeladen werden. Es ist normal, die Seite aufzurufen

Der Code lautet wie folgt:

<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>

Adressliste herunterladen :

<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>

Ergänzung:

1. Die Anti-Hotlink-Funktion dieses Software-Kanals muss in der Software enthalten sein. Stellen Sie die

-Link-Anzeigemethode in den Kanaleinstellungen ein: Anfrage an Geben Sie die Download-Adresslistenseite ein

2. Wenn sich die Beispielsituation von der Ihrer Website unterscheidet, können Sie Ihre /plus/download-.php auch manuell ändern

Die Änderungsmethode ist wie folgt :

Suchen Sie:

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

Fügen Sie

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

darüber hinzu und fertig

Das obige ist der detaillierte Inhalt vonSo verhindern Sie Hotlinks im Dedecms-Software-Download-Kanal. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn