How to prevent hotlinking in dedecms software download channel
dedecms How to prevent hotlinking in software download channels?
Due to website revision, many previous websites were linked to our internal pages. This results in a poor user experience and prevents some websites from stealing our resources.
Recommended study: 梦Weavercms
dedeThe shortcomings of making a software site
is that others repost your downloads When reposting http://www.xxx.com/plus/download.php...
, you can download it by directly opening the download address list page, which costs a lot of money Resources but cannot bring users.
After research, I finally solved the problem of anti-leeching for software channel downloads. The code is distributed and shared with everyone. I hope it can be used.
The modified function is
If the software information The page address is: https://www.xxx.net/soft/1.htm
The download address link is: https://www.xxx.net/plus/download.php?.... .....
Determine the origin,
If it is not https://www.xxx.net/soft/1.htm,
Jump directly to https ://www.xxx.net/soft/1.htm
If the source is https://www.xxx.net/soft/1.htm, the download address will be displayed
Description Next: The code below is directly copied from my own site. I have enabled Thunder download for the whole site. When I open it, Thunder download will be automatically used. You can also make small modifications to prevent the use of Thunder download
No It is easy to modify using Xunlei: delete the Xunlei related code and just quote $link
The file that needs to be modified is /plus/download.php
Demo:
https://www.xxx.net/do/plus/download.php?open=0&aid=20975&cid=3
Must start from https://www.xxx.net/codes/20975.html It is normal to enter the page.
The code is as follows:
<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>
Download address list:
<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>
Supplement:
1. The anti-leeching function of this software channel must be in the software Set the
link display method in the channel settings: Request to enter the download address list page
2. If the example situation is different from your website, you can also manually modify your /plus/download .php
The modification method is as follows:
Find:
$row = $dsql->GetOne("Select $vname From ".$cu->ChannelInfos['addtable']." where aid='$aid'");
Add
if(!strstr($_SERVER['HTTP_REFERER'],$arcurl)) { echo "<script language='javascript'>location=\"$arcurl\";</script>"; }
above it and that’s it.
The above is the detailed content of How to prevent hotlinking in dedecms software download channel. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Empire CMS template download location: Official template download: https://www.phome.net/template/ Third-party template website: https://www.dedecms.com/diy/https://www.0978.com.cn /https://www.jiaocheng.com/Installation method: Download template Unzip template Upload template Select template

Template replacement can be implemented in Dedecms through the following steps: modify the global.cfg file and set the required language pack. Modify the taglib.inc.php hook file and add support for language suffix template files. Create a new template file with a language suffix and modify the required content. Clear Dedecms cache.

Dedecms is an open source CMS that can be used to create various types of websites, including: news websites, blogs, e-commerce websites, forums and community websites, educational websites, portals, other types of websites (such as corporate websites, personal websites, photo album websites, video sharing website)

How to upload local videos using Dedecms? Prepare the video file in a format that is supported by Dedecms. Log in to the Dedecms management backend and create a new video category. Upload video files on the video management page, fill in the relevant information and select the video category. To embed a video while editing an article, enter the file name of the uploaded video and adjust its dimensions.

Dedecms is an open source Chinese CMS system that provides content management, template system and security protection. The specific usage includes the following steps: 1. Install Dedecms. 2. Configure the database. 3. Log in to the management interface. 4. Create content. 5. Set up the template. 6. Manage users. 7. Maintain the system.

DedeCMS is an open source content management system that has some potential vulnerabilities and security risks: 1. SQL injection vulnerability. Attackers can perform unauthorized operations or obtain sensitive data by constructing malicious SQL query statements; 2. File Upload vulnerability, attackers can upload files containing malicious code to the server to execute arbitrary code or obtain server permissions; 3. Sensitive information leakage; 4. Unauthenticated vulnerability exploitation.

Accurate and reliable dedecms conversion tool evaluation report With the rapid development of the Internet era, website construction has become one of the necessary tools for many companies and individuals. In website construction, using a content management system (CMS) can manage website content and functions more conveniently and efficiently. Among them, dedecms, as a well-known CMS system, is widely used in various website construction projects. However, sometimes we are faced with the need to convert the dedecms website to other formats, in which case we need to use a conversion tool

Learning dedecms encoding conversion function is not complicated. Simple code examples can help you quickly master this skill. In dedecms, the encoding conversion function is usually used to deal with problems such as Chinese garbled characters and special characters to ensure the normal operation of the system and the accuracy of data. The following will introduce in detail how to use the encoding conversion function of dedecms, allowing you to easily cope with various encoding-related needs. 1.UTF-8 to GBK In dedecms, if you need to convert UTF-8 encoded string to G
