2009-12-07 5 views

답변

3

가장 쉬운 방법은 HTTP 요청의 Referer 헤더를 확인하는 것입니다. 기본적으로 헤더에 사이트의 URL이없는 경우 핫 링크가 될 수 있습니다.

이 문제를 다음과 같습니다

  • 리퍼러 헤더를 위조 할 수 있습니다 -> 합법적 인 사용자가 콘텐츠를 얻지 못할 수도 -> 핫 링크는 반드시 추천자 헤더를 보내지 않는
  • 모든 사용자 에이전트를 사용할 수 있습니다.

사용자가 사이트를 탐색 할 때 쿠키를 설정하고 사용자가 스트리밍 콘텐츠에 액세스 할 때 해당 쿠키가 있는지 확인할 수도 있습니다.

+0

나는 쿠키 옵션을 좋아하고 암호화하기 쉽고 특정 시간 후에 만료되므로 리퍼러보다 속이기가 훨씬 어렵다. – LorenVS

1

세부 사항은 일 수 있지만, 이고르 여기에 유용 할 수 있습니다 이미지 핫 링크 보호를위한 참조 자 맵핑의 예를 제공합니다

당신이 리퍼러 경로를 이동하기로 결정하는 경우 http://nginx.org/pipermail/nginx/2007-June/001082.html.

memcached를 사용하는 경우에도 한동안 저장소 클라이언트 IP 주소를 저장할 수 있으며 만료되지 않은 클라이언트 IP가 캐시에서 발견되면 스트리밍 미디어 만 제공 할 수 있습니다. 클라이언트 IP는 정상적인 탐색 중에 캐시되어 스트리밍 콘텐츠를 보는 사람이 최근에 귀하의 사이트를 방문했는지 확인합니다.

0

내 hostgator 사이트에서 nginx를 Apache (nginx + apache)의 프록시로 사용했습니다. 어쩌면 그것이 당신을 도울 것입니다. 또한 로그에 대한 액세스 권한이있는 경우 ip에서 조사한 트래픽 양이 많을 경우 사이트를 가리킨 다음 다른 웹 서버를 차단하십시오. php의 file_get_contents는 htaccess 나 ip를 차단하는 것 이외의 다른 어떤 것에 의해 중단되지 않습니다.