> CMS 튜토리얼 > Dedecms > Dedecms 소프트웨어 다운로드 채널에서 핫링크를 방지하는 방법

Dedecms 소프트웨어 다운로드 채널에서 핫링크를 방지하는 방법

藏色散人
풀어 주다: 2019-12-24 09:47:30
원래의
2503명이 탐색했습니다.

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입니다. 다운로드 주소는

입니다. 설명: 아래 코드는 내 사이트에서 직접 복사한 것입니다. 전체 사이트에 대해 Thunder 다운로드를 활성화합니다. . 열리면 Thunder 다운로드가 자동으로 사용됩니다. Thunder 다운로드 사용을 방지하기 위해 약간의 수정을 할 수도 있습니다

Thunder를 사용하지 않는 경우 수정하기 쉽습니다. 삭제 Thunder 관련 코드를 입력하고 $link를 인용하세요.

수정 필요 파일은 /plus/download.php

Demo:

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에 들어가도록 요청합니다. 예시 상황이 귀하의 웹사이트와 다르기 때문에 /plus/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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿