>  기사  >  백엔드 개발  >  PHP에서 핫링크를 방지하는 일반적인 방법

PHP에서 핫링크를 방지하는 일반적인 방법

怪我咯
怪我咯원래의
2017-07-13 10:26:251401검색

오늘날의 인터넷에는 수집 웹사이트가 많고, 다른 웹사이트의 사진을 핫링크하거나 훔치는 것을 좋아하는 웹사이트도 많습니다. 이는 네트워크 권리를 침해할 뿐만 아니라, 핫링크된 웹사이트가 많은 트래픽을 소비하고 많은 트래픽을 발생시키는 원인이 됩니다. 서버에 대한 부담을 줄이기 위해 이 기사에서는 PHP에서 이미지 도용/핫링크를 방지하는 방법에 대한 두 가지 방법을 소개합니다.

이미지 핫링크 보호의 용도는 무엇인가요? 다른웹사이트가 귀하의 이미지를 도용하고 귀중한 트래픽을 낭비하는 것을 방지합니다. 이번 글에서는 PHP

1에서 이미지 도용/핫링크를 방지하는 세 가지 방법을 소개합니다. 간단한 안티 핫링크, 코드는 다음과 같습니다.

$ADMIN[defaulturl] = "http:/www.php.cn/404.htm";//盗链返回的地址 
$okaysites = array("http:/www.php.cn/","http:/www.php.cn"); //白名单 
$ADMIN[url_1] = "http:/www.php.cn/temp/download/";//下载地点1 
$ADMIN[url_2] = "";//下载地点2,以此类推 

$reffer = $HTTP_REFERER; 
if($reffer) { 
$yes = 0; 
while(list($domain, $subarray) = each($okaysites)) { 
if (ereg($subarray,"$reffer")) { 
$yes = 1; 
} 
} 
$theu = "url"."_"."$site"; 
if ($ADMIN[$theu] AND $yes == 1) { 
header("Location: $ADMIN[$theu]/$file"); 
} else { 
header("Location: $ADMIN[defaulturl]"); 
} 
} else { 
header("Location: $ADMIN[defaulturl]"); 
} 

?>

사용방법: 위 코드를 dao4.php로 저장하세요,
For 예를 들어, verifycode.rar 테스트에 사용한 것은 내 사이트 http://www.php.cn/temp/download에 있습니다.
다음 코드를 사용하여 다운로드 링크를 나타냅니다.

CODE: [클립보드에 복사]
파일 이름?site=1&file=file

2. 서버 안티 핫링크
IIS 안티 핫링크 소프트웨어가 사용됩니다. 온라인에서 검색할 수 있습니다.

3. 소프트웨어 다운로드 시 핫링크를 방지하는 방법
코드는 다음과 같습니다.

//放置下载软件的根目录相对于当前脚本目录的相对目录 
$fileRelPath = "../../software"; 
//例外允许连接的网址,注意:自身域名不需要填入,设定为肯定可以下载, 
// 空字符串("")表示直接输入网址下载的情况 
$excludeReferArr = array(http:/www.php.cn", "php.cn"); 

chdir($fileRelPath); 
$fileRootPath = getcwd() ."/"; 

$filePath=$HTTP_GET_VARS["file"]; 

$url=parse_url($_SERVER["HTTP_REFERER"]); 

if($url[host]!=$_SERVER["HTTP_HOST"] && !in_array($referHost, $excludeReferArr)){ 
?>

위 내용은 PHP에서 핫링크를 방지하는 일반적인 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.