Maison  >  Article  >  Tutoriel CMS  >  Comment empêcher les hotlinking dans le canal de téléchargement du logiciel dedecms

Comment empêcher les hotlinking dans le canal de téléchargement du logiciel dedecms

藏色散人
藏色散人original
2019-12-24 09:47:302461parcourir

Comment empêcher les hotlinking dans le canal de téléchargement du logiciel dedecms

Comment empêcher les hotlinking dans le canal de téléchargement du logiciel dedecms ?

En raison de la révision du site Web, de nombreux sites Web précédents ont été liés à nos pages internes. Cela entraîne une mauvaise expérience utilisateur et empêche certains sites Web de voler nos ressources.

Étude recommandée : Dreamweaver cms

L'inconvénient de dede en tant que site de logiciels

est que d'autres republient vos téléchargements lorsque republier directement http://www.xxx.com/plus/download.php...

Ouvrez simplement la page de la liste d'adresses de téléchargement directement et vous pouvez la télécharger Cela coûte beaucoup d'argent mais ne peut pas. amener les utilisateurs.

Après recherches, j'ai finalement résolu le problème de l'anti-sangsue pour les téléchargements de chaînes logicielles. J'ai envoyé le code pour le partager avec tout le monde. J'espère qu'il pourra être utilisé.

La fonction modifiée est.

Si les informations sur le logiciel L'adresse de la page est : https://www.xxx.net/soft/1.htm

Le lien de l'adresse de téléchargement est : https://www.xxx. net/plus/download.php?.... .....

Déterminez l'origine,

Si ce n'est pas le cas https://www.xxx.net/soft/1 .htm,

Accédez directement à https://www.xxx.net/soft/1.htm

Si la source est https://www.xxx.net/soft/1 .htm, l'adresse de téléchargement sera affichée

Instructions Suivant : Le code ci-dessous est directement copié de mon propre site. J'ai activé le téléchargement Thunder pour l'ensemble du site, qui utilisera automatiquement le téléchargement Thunder lors de son ouverture. Vous pouvez également apporter de petites modifications pour empêcher l'utilisation du téléchargement Thunder

Non. Il est facile de modifier en utilisant Xunlei : supprimez le code associé à Xunlei et citez simplement $link

Le fichier qui doit être modifié. est /plus/download.php

Démo :

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

Doit être téléchargé depuis https://www.xxx.net/codes/20975.html Il est normal d'entrer dans la page

Le code est le suivant :

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

Télécharger la liste d'adresses :

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

Supplément :

1. La fonction anti-hotlink de cette chaîne logicielle doit être dans le logiciel Définir la méthode d'affichage du lien

dans les paramètres de la chaîne : Demande de entrez dans la page de liste d'adresses de téléchargement

2. Si la situation de l'exemple est différente de celle de votre site Web, vous pouvez également modifier manuellement votre /plus/download .php

La méthode de modification est la suivante. :

Recherchez :

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

Ajoutez

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

au-dessus et c'est tout.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn