PHP에서 외부 핫링크를 금지하는 방법: 먼저 ".htaccess" 파일을 찾아서 연 다음 "RewriteCond %{HTTP_REFERER} !^$ [NC]" 콘텐츠를 파일에 추가합니다.
추천: "PHP 비디오 튜토리얼"
핫링크 방지를 위한 PHP 방법
핫링크 방지 기술은 이미 이미지를 직접 복사하여 사용하는 것을 좋아하지 않습니다. 다른 웹사이트는 핫링크 방지 기술을 사용하므로 다른 사람이 웹사이트 이미지를 직접 복사하여 사용할 때 프로그램 설정에 따라 사진에 핫링크 방지 및 기타 단어가 표시되지 않습니다.
핫링크 방지 기술을 사용하면 사진 도난을 방지할 수 있을 뿐만 아니라 사이트에서 사진을 다운로드하는 트래픽도 절약할 수 있습니다. 그렇다면 PHP 환경에서 핫링크를 방지하는 방법은 무엇일까요? PHP 환경에서는 Apache 서버를 주로 사용하는 것으로 알고 있으므로 Apache Anti-hotlink 방법을 주로 살펴보겠습니다. 실제로 IIS에서도 동일한 원리가 사용됩니다.
Apache 안티 핫링크:
대부분의 가상 호스트는 Apache이므로 가장 편리한 안티 핫링크 설정은 .htaccess 파일을 사용하는 것입니다. 인터넷에 검색하는 방법이 너무 많아서 정말 사용하기 쉬운 방법들을 정리해봤습니다. .htaccess 파일에 다음 코드를 추가하고 수정합니다.
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !60ie.net [NC] RewriteCond %{HTTP_REFERER} !youdao.com [NC] RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !twitter.com [NC] RewriteCond %{HTTP_REFERER} !facebook.com [NC] RewriteCond %{HTTP_REFERER} !xianguo.com [NC] RewriteCond %{HTTP_REFERER} !google.cn [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !google.com.tw [NC] RewriteCond %{HTTP_REFERER} !google.com.sg [NC] RewriteCond %{HTTP_REFERER} !google.com.hk [NC] RewriteCond %{HTTP_REFERER} !bloglines.com [NC] RewriteCond %{HTTP_REFERER} !soso.com [NC] RewriteCond %{HTTP_REFERER} !mail.qq.com [NC] RewriteCond %{HTTP_REFERER} !cn.bing.com [NC] RewriteCond %{HTTP_REFERER} !image.baidu.com [NC] RewriteCond %{HTTP_REFERER} !feedburner.com [NC] RewriteCond %{HTTP_REFERER} !feedsky.com [NC] RewriteRule .(png|jpg|gif)$ [R,NC,L]
코드 설명:
먼저 마지막 줄을 보세요. 웹사이트에 있는 png, jpg, gif 파일에 대한 안티 핫링크 보호 기능이 있습니다. 내 웹사이트의 사진이 위의 허용 목록 외부 웹사이트에 나타나면 모두 차단됩니다. 마지막에 한 줄의 코드로 표시됩니다.
Nginx 안티 핫링크:
Nginx는 .htaccess를 지원하지 않으므로 설정이 조금 번거롭습니다. 먼저 텍스트 편집기로 /usr/local/nginx/conf/nginx.conf 파일을 열고(vhost를 사용하는 경우 vhost로 이동하여 해당 conf 파일
을 찾으세요) 서버에서 다음 코드를 일치시킵니다{ } 단락 바로 안쪽에 복사하는 것이 아니라 일치하는 것에 대해 이야기하고 있습니다.
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; valid_referers none blocked *.ilucong.com *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk *.bloglines.com image.soso.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com; if ($invalid_referer) { rewrite ^/ ; #return 404; } }
참고: 편집 시 불규칙한 줄이 나타날 수 있으므로 Windows와 함께 제공되는 메모장을 사용하지 마세요. 적용하려면 Ngnix 서비스를 다시 시작하세요.
위 내용은 PHP에서 외부 핫링크를 금지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!