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='$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>#🎜 🎜#다운로드 주소 목록:
<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>
보충:
1. 이 소프트웨어 채널의 핫링크 방지 기능은 소프트웨어 채널 설정에서 설정해야 합니다
링크 표시 방법: 다운로드 주소 목록 페이지
2에 들어가도록 요청합니다. 예시 상황이 귀하의 웹사이트와 다르기 때문에 /plus/download.php를 수동으로 수정할 수도 있습니다.
수정 방법은 다음과 같습니다:
찾기:
$row = $dsql->GetOne("Select $vname From ".$cu->ChannelInfos['addtable']." where aid='$aid'");
위에
if(!strstr($_SERVER['HTTP_REFERER'],$arcurl)) { echo "<script language='javascript'>location=\"$arcurl\";</script>"; }
를 추가하면 끝입니다.
위 내용은 Dedecms 소프트웨어 다운로드 채널에서 핫링크를 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!