2012-06-03 3 views
-1

글쎄, 약간의 문제가 있습니다. 나는 기본적으로 파일 공유 웹 사이트를 소유하고 있으며 파일을 핫 링크하는 사람들과 문제가 있습니다..htaccess없이 모든 파일의 핫 링크 방지

실제 파일이있는 다운로드 페이지로 핫 링크를 리디렉션하고 싶으므로 .htaccess를 사용해 보았습니다.

다른 사이트에서이 작업을 수행 한 적이 있지만 혼란 스럽습니다.

일부 사용자는 cgi-bin 스크립트를 사용하지만, 어떻게 수행되는지는 잘 모릅니다.

누구나 최선의 실습이 무엇인지 실마리가 있습니까?

+0

왜'.htaccess'를 사용하지 않습니까? 이것은 PHP 스크립트에서도 할 수 있지만, .htaccess 파일은 매우 우수합니다. –

+0

파일이 원격 서버에 보관됩니다. 어떻게해야합니까? – HarryBeasant

+0

웹 서버에서 어떻게 원격 서버에 액세스합니까? – lanzz

답변

1

웹 서버에서 파일을 읽고 클라이언트에 데이터를 출력하는 스크립트를 작성할 수 있습니다. 해당 스크립트에서 $_SERVER['HTTP_REFERER'] 값을 확인하여 출처를 확인할 수 있습니다. 파일 출력

작은 예 : 매우 간단한

<?php 
$filename = "file"; 
$filesize = filesize($filename); 
$handle = fopen($filename, "r"); 
$data = fread($handle, $filesize); 
header("Content-type: application/zip"); 
header("Content-length: " . $filesize); 
header("Content-disposition: inline; filename=" . $filename); 
echo $data; 
fclose($handle); 
?> 
+0

모든 파일은 원격 파일 서버에 저장되지만 여전히 차이가 있습니까? – HarryBeasant

+0

원격 서버에있는 파일에 대한 링크가 방문자에게 보이지 않는 경우 해당 방문자를 핫 링크 할 수 없습니다. –

+0

다운로드 소스를 확인할 수 있습니다. 대부분의 브라우저가이를 제공합니다. – HarryBeasant

0

. 실제 파일의 실제 경로를 사용자가 볼 수 없도록하십시오. 대신, PHP 스크립트를 통해 그들에게 서비스를 제공하고, 세션을 거쳐 그들이 파일을 제공하기 전에 필요한 단계를 묻는 지 확인하십시오.

+0

그리고 파일은 원격 서버에 저장됩니다. 여전히 가능합니까? – HarryBeasant

+0

핫 링크는 파일을 가져 오기 위해 사용자를 다른 서버로 리디렉션하는 것과 어떻게 다른가요? 파일을 제공하는 스크립트는 파일과 동일한 서버에 있어야합니다. –

+0

사실, 간단한 PHP 파일이나 CGI, Perl 또는 Ruby – HarryBeasant