이 글은 주로 PHP의 안티 핫링크 방법을 소개하고, 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>
1. HTTP_REFERER를 얻을 수 있는 상황은 다음과 같습니다. | |
2.직접 사용 제출 또는 d0ccfa24f23dbd6c7c76b6dcdc6cfa63를 사용하여 양식(POST 또는 GET)을 제출하세요 | 3. Jscript(POST 또는 GET)를 사용하여 제출된 양식
1. 즐겨찾기 링크
2. "홈" 또는 맞춤 주소를 클릭하세요3. Jscript의 location.href 또는 location.replace()
4를 사용하세요. 브라우저에 주소를 직접 입력하세요5. c37f721670919360921ccb8afc9eb479
6. 707ab8d2056c6e1f516d2bf3c9988ff9 또는 d2eacb9d552db150e90498bcd18784f7를7로 리디렉션합니다. XML을 사용하여 주소
strrpos
를 로드합니다. 함수 설명: strrpos — 대상 문자열 int strrpos에서 지정된 문자열이 마지막으로 나타나는 위치를 계산합니다. ( string $ haystack , string $needle [, int $offset = 0 ] )<br>
$haystack 문자열에서 needle이 마지막으로 나타나는 숫자 위치를 반환합니다.
$haystack이 문자열에서 찾으세요.
🎜🎜🎜$needle🎜🎜needle이 문자열이 아닌 경우 정수로 변환되어 문자의 순차적인 값으로 처리됩니다. 🎜🎜🎜🎜🎜🎜반환값🎜🎜🎜바늘이 존재하는 위치를 반환합니다. 찾을 수 없으면 FALSE를 반환합니다. 🎜🎜핫링크 감지 코드: asd.php🎜🎜🎜🎜<?php //防盗链技术 //先判断是否获取到 $_SERVER['HTTP_REFERER'] 变量 if(isset($_SERVER['HTTP_REFERER'])){ //判断$_SERVER['HTTP_REFERER']是不是以http://localhost/开始的 if(strpos($_SERVER['HTTP_REFERER'],"http://localhost")==0){ echo '<img src="a.png"/>'; } else{ header("Location:warning.php");//跳转页面到warning.php //echo $_SERVER["HTTP_REFERER"]; } } else { header("Location:warning.php"); } ?>🎜warning.php🎜🎜🎜🎜
<html> <b>倒链</b> </html>🎜Anti-hotlink 검증 코드🎜🎜🎜🎜
<!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 중국어 웹사이트의 기타 관련 기사를 참조하세요!