>백엔드 개발 >PHP 튜토리얼 >이미지 파일과 다운로드한 파일의 핫링크를 방지하는 PHP 방법_php 팁

이미지 파일과 다운로드한 파일의 핫링크를 방지하는 PHP 방법_php 팁

WBOY
WBOY원래의
2016-05-16 20:33:261029검색

이 기사의 예에서는 PHP에서 이미지 파일과 다운로드한 파일의 핫링크를 방지하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

PHP에서 핫링크를 방지하는 가장 간단한 방법은 PHP의 $_SERVER['HTTP_REFERER'] 함수를 사용하여 작동하는 것입니다. 그러나 이 방법은 결국 Apache와 IIS를 사용하여 작동해야 합니다.

php 안티 핫링크:

코드 복사 코드는 다음과 같습니다.
session_start();
session_register('확인');
$_SESSION['check']=true;
?>

세션 변수를 확인하여 홈페이지 방문 여부를 결정하세요. 그리고 소스 웹페이지 참조(HTTP_REFERER)가 로컬 웹사이트의 웹페이지에서 나온 것인지 확인하세요.

방법은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
session_start();
$refs = pars_url($_SERVER['HTTP_REFERER']); //참조 웹페이지 정보 분해
//홈페이지 세션과 소스 호스트가 동일한지 확인
if(!($_SESSION['check']) || $refs['host'] != $_SERVER['HTTP_HOST'])
나가세요;
?>

참고: 이 방법은 핫링크를 방지하는 데에만 사용할 수 있습니다.

서버를 사용하여 PHP 도난 방지 연결 설정

아파치 안티 핫링크:

httpd.conf 수정:

코드 복사 코드는 다음과 같습니다.
SetEnvIfNoCase Referer "^" local_ref=1
주문 허용, 거부
env=local_ref
에서 허용

"핫 링크 금지" 그림을 표시하려면 mod_rewrite를 사용하여 이를 달성할 수 있습니다.

먼저 Apache를 설치할 때 --enable-rewrite 매개변수를 추가하여 mod_rewrite 모듈을 로드합니다.
"No Hotlinking" 이미지가 abc.gif라고 가정하면 httpd.conf에서 다음과 같이 구성할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?www.jb51.net /.*$ [NC]
RewriteRule .(gif|jpg)$ abc.gif [R,L]
DocumentRoot "/usr/local/apache/htdocs"
#사이트의 html 파일이 저장되는 디렉토리를 설정합니다.
<디렉토리 /> 옵션 FollowSymLinks
AllowOverride 없음


iis 핫링크 방지:

c:RewriteRewrite.dll을 선택하여 파일을 실행하세요

httpd.ini는 구성 파일입니다

이미지 핫링크 보호 코드


코드 복사 코드는 다음과 같습니다. [ISAPI_Rewrite]
# 3600 = 1시간
CacheClockRate 3600
RepeatLimit 32
# httpd.ini 및 httpd.parse.errors 파일을 보호하세요
# HTTP를 통해 액세스
RewriteCond 호스트: (. )
RewriteCond 추천자: (?!http://1.*).*
RewriteRule .*.(?:gif|jpg|png|bmp) /force.gif [I,O]

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