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='$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 language='javascript'>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>"; ?> <!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='<?php echo $arcurl?>' _fcksavedurl='<?php echo $arcurl?>' style='font-size:11pt'><?php echo $arctitle?></a></div> </div> <div class=""> <div> <div>
Télécharger la liste d'adresses :
<div><a href='<?php echo $thunderUrl?>' _fcksavedurl='<?php echo $thunderUrl?>' style='font-size:11pt'>点这里右键使用迅雷下载-><?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['addtable']." where aid='$aid'");
Ajoutez
if(!strstr($_SERVER['HTTP_REFERER'],$arcurl)) { echo "<script language='javascript'>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!