이 기사의 예에서는 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는 구성 파일입니다
이미지 핫링크 보호 코드
# 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 프로그래밍 설계에 도움이 되기를 바랍니다.