>  기사  >  백엔드 개발  >  PHP에서 핫링크를 방지하는 방법에 대한 자세한 설명

PHP에서 핫링크를 방지하는 방법에 대한 자세한 설명

小云云
小云云원래의
2018-02-01 13:01:472929검색

이 글은 주로 PHP의 안티 핫링크 방법을 소개하고, PHP의 안티 핫링크와 관련된 기술과 구체적인 구현 기술을 예제 형식으로 분석하여 도움이 필요한 모든 분들께 도움이 되기를 바랍니다. .

$_SERVER['HTTP_REFERER'] 획득 상황 $_SERVER['HTTP_REFERER']的获取情况

注意 $_SERVER['HTTP_REFERER'] 并不一定总能获取到,只有在以下情况下才能获取到:

一、能够取到HTTP_REFERER的情况为以下几种:

1.直接用cfba799dd43fce78ec3e9e3d200b7e48
2.用Submit或764a0a970dbc75966e734f5ea597d024提交的表单(POST or GET)
3.使用Jscript提交的表单(POST or GET)

二、不能取到的情况有以下几种:

1.从收藏夹链接
2.单击”主页”或者自定义的地址
3.利用Jscript的location.href or location.replace()
4.在浏览器直接输入地址
5.c37f721670919360921ccb8afc9eb479
6.707ab8d2056c6e1f516d2bf3c9988ff9或d2eacb9d552db150e90498bcd18784f7转向
7.用XML加载地址

strrpos函数讲解:

strrpos — 计算指定字符串在目标字符串中最后一次出现的位置

说明

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )<br>

참고 $_SERVER['HTTP_REFERER']를 항상 얻을 수 있는 것은 아니며 다음 상황에서만 얻을 수 있습니다. 1. HTTP_REFERER를 얻을 수 있는 상황은 다음과 같습니다. 1. cfba799dd43fce78ec3e9e3d200b7e483. Jscript(POST 또는 GET)를 사용하여 제출된 양식 2. 다음과 같은 상황이 발생하지 않습니다.
2.직접 사용 제출 또는 d0ccfa24f23dbd6c7c76b6dcdc6cfa63를 사용하여 양식을 제출하세요(POST 또는 GET)

1. 즐겨찾기 링크

2. "홈" 또는 맞춤 주소를 클릭하세요

3. Jscript의 location.href 또는 location.replace()

4를 사용하세요. 브라우저에 주소를 직접 입력하세요

5. c37f721670919360921ccb8afc9eb479

6. 707ab8d2056c6e1f516d2bf3c9988ff9 또는 d2eacb9d552db150e90498bcd18784f7 리디렉션

7. XML을 사용하여 주소

strrpos를 로드합니다. 함수 설명:

strrpos — 대상 문자열


Explanation

int strrpos에서 지정된 문자열이 마지막으로 나타나는 위치를 계산합니다. ( string $ haystack , string $needle [, int $offset = 0 ] )<br>$haystack 문자열에서 needle이 마지막으로 나타나는 숫자 위치를 반환합니다.

$haystack이 문자열에서 찾으세요.

$needle

needle이 문자열이 아닌 경우 정수로 변환되어 문자의 순차적인 값으로 처리됩니다.

반환값

바늘이 존재하는 위치를 반환합니다. 찾을 수 없으면 FALSE를 반환합니다. HOTLINK DETECTION CODE : ASD.PHP


R

<?php
//防盗链技术
//先判断是否获取到 $_SERVER[&#39;HTTP_REFERER&#39;] 变量
if(isset($_SERVER[&#39;HTTP_REFERER&#39;])){
  //判断$_SERVER[&#39;HTTP_REFERER&#39;]是不是以http://localhost/开始的
  if(strpos($_SERVER[&#39;HTTP_REFERER&#39;],"http://localhost")==0){
    echo &#39;<img src="a.png"/>&#39;;
  }
  else{
    header("Location:warning.php");//跳转页面到warning.php
    //echo $_SERVER["HTTP_REFERER"];
  }
}
else {
  header("Location:warning.php");
}
?>
SWARNING.PHP

🎜🎜🎜R
<html>
<b>倒链</b>
</html>
ATI-HOTLINK VERIFICE CODEINGIONION CODE🎜🎜🎜🎜R
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="http://localhost/wml/asd.php" rel="external nofollow" >验证防盗链</a>
</body>
</html>
🎜 위의 것은 원칙을 이해하는 것입니다. nginx와 같은 서버 구성 🎜🎜🎜(gif|jpg|jpeg|png|bmp|swf) 🎜 및 기타 파일의 화이트리스트 🎜🎜에 대한 액세스 구성 자세한 구성은 Baidu🎜🎜에서 검색할 수 있습니다. 관련 권장 사항: 🎜🎜🎜php 도난 방지 링크를 해독하려면🎜🎜🎜🎜PHP를 사용하여 도난 방지를 완료하세요. 체인 방식에 대한 자세한 설명🎜🎜🎜🎜php 안티 핫링크 코드🎜🎜🎜🎜🎜

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

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