> 백엔드 개발 > PHP 튜토리얼 > PHP를 사용하여 핫링크를 방지하는 방법에 대한 자세한 설명

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

巴扎黑
풀어 주다: 2023-03-15 20:40:02
원래의
1556명이 탐색했습니다.

이 글은 주로 PHP의 안티 핫링크 방법을 소개하고, PHP의 안티 핫링크와 관련된 기술과 구체적인 구현 기법을 예제 형식으로 분석합니다. 도움이 필요한 친구들은 참고할 수 있습니다

본 글의 예시는 PHP의 핫링크 방지 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 정보는 다음과 같습니다:

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

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

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

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

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

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

strrpos函数讲解:

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

说明

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

Note $_SERVER['HTTP_REFERER']를 항상 획득할 수 있는 것은 아닙니다. only 다음과 같은 상황에서만 얻을 수 있습니다. 1. HTTP_REFERER를 얻을 수 있는 상황은 다음과 같습니다. 1. 3. Jscript(POST 또는 GET)를 사용하여 제출된 양식 2. 다음과 같은 상황이 발생하지 않습니다.
2.직접 사용 제출 또는 <입력 유형=이미지>를 사용하여 양식을 제출하세요(POST 또는 GET)

1. 즐겨찾기 링크

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

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

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

5. <%Response.Redirect%>

6. <%Response.AddHeader%> 또는 리디렉션

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) 🎜 및 기타 파일🎜에 액세스하기 위한 화이트리스트 구성

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

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