>  기사  >  운영 및 유지보수  >  이미지 도난을 방지하기 위해 Nginx에서 Referer를 설정하는 방법

이미지 도난을 방지하기 위해 Nginx에서 Referer를 설정하는 방법

WBOY
WBOY앞으로
2023-05-12 18:52:061565검색

서버의 사진이 다른 웹사이트에 의해 핫링크되면 서버의 대역폭과 액세스 속도에 영향을 미칩니다. 이때 이미지 파일이나 비디오 파일의 핫링크 방지 기능을 설정해야 합니다.

핫링크 방지 기능은 간단합니다. 이는 귀하가 이 리소스에 직접 액세스할 수 있지만 다른 사람이 액세스할 수 있도록 귀하의 서버에 내 리소스 링크를 넣을 수 없다는 의미입니다. 특히 사진이나 비디오와 같은 대용량 파일로 인해 서버가 매우 느리게 응답하기 쉽습니다.

그림침대가 아니었다면 이 사이트의 사진을 다른 웹사이트에서 직접 사용할까봐 정말 두렵습니다. 이런 종류의 트래픽은 결국 한꺼번에 사라질 가능성이 높습니다. CDN은 공짜로 구입하는 것입니다. 따라서 안티 핫 링크를 설정하는 것이 더 좋으며 nginx가 이 기능을 완료할 수 있습니다.

일반적으로 http 프로토콜을 준수하는 브라우저는 웹사이트 a에서 웹사이트 B에 액세스할 때 클릭이 발생한 위치를 나타내기 위해 현재 웹사이트의 URL을 가져옵니다. 따라서 nginx의 이 모듈도 이에 의존하여 구현됩니다. 따라서 해커가 이 헤더를 추가하지 않으면 여전히 도난 방지 사진을 즐길 수 없습니다.

nginx 공식 웹사이트 문서는 다음과 같습니다:

syntax: valid_referers 없음 | 차단됨 | server_names | 문자열 ...;
default: —
context: server, location

nginx 리퍼러 명령 소개

nginx 모듈 ngx _http_referer_module 일반적으로 불법 소스의 도메인 이름 요청을 차단하는 데 사용됩니다. 리퍼러 헤더를 위장하는 것은 매우 간단한 문제이므로 이 모듈은 대부분의 불법 요청을 차단하는 데만 사용할 수 있습니다. 일부 합법적인 요청은 리퍼러 소스 헤더를 전달하지 않으므로 때로는 빈 소스 헤더(리퍼러)가 있는 요청을 거부하지 마세요.

따라서 서버 또는 위치 블록에 코드를 추가할 수 있습니다. 나는 이를 valid_referers.conf로 저장했습니다.

valid_referers none blocked server_names;

if ($invalid_referer) {
 return 403;
}

그런 다음 필요한 경우 추가에 /etc/nginx/valid_referers.conf를 포함합니다. 물론 이를 실행하기 위한 전제 조건은 해당 머신의 /etc/nginx/valid_referers.conf 경로에 valid_referers.conf가 있어야 한다는 것입니다.

예:

 location /articles/img {
  include /etc/nginx/valid_referers.conf;
  root /data/blog/code;
 }

위 내용은 이미지 도난을 방지하기 위해 Nginx에서 Referer를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제