2009-08-07 2 views
0

.zip 파일이 w/o 권한없이 다운로드되지 않도록 보호해야합니다.컨트롤 다운로드 (.htaccess?)

파일에 대한 액세스 권한이있는 사용자에게 .zip 다운로드에 대한 직접 링크를 제공하고 싶습니다.

<filesmatch .zip> 
order deny, allow 
deny from all 
</filesmatch> 

보이지 않습니다. 그것은 직접 링크를 방지하지만 지금 다운로드를 제공하는 방법을 모르겠습니다.

답변

2

파일을 별도의 디렉토리에 두는 것이 좋습니다. 기본 인증을 사용하여이 디렉토리를 암호로 보호 할 수 있습니다. 다음과 같이

귀하의 .htaccess는 것입니다 :

AuthName "Log in to continue" 
AuthType Basic 
AuthUserFile /path/to/your/.htpasswd 
<limit GET POST> 
    require valid-user 
</limit> 

인증이 허용 된 모든 사용자에 대한 행이 포함되어야 귀하의 .htpasswd :이 사용자 이름에 대한 라인 (

test:R.NyWzK/TEEvo

을 : 테스트, 비밀번호 : 테스트).

인터넷의 모든 곳에서 .htpassword 생성기를 찾을 수 있습니다. 예를 들어 :

http://home.flash.net/cgi-bin/pw.pl

0

사실은 단지 사용자가

if($_POST['subDownload']){ 
    if(file_exists('./photo_sets/photo_set_1.zip')){ 
     $FileName = "./photo_sets/photo_set_1.zip"; 
     header("Content-Type: application/x-zip-compressed"); 
     header("Content-Length: " . filesize($FileName)); 
     header("Content-Disposition: attachment; filename=\"$FileName\""); 
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
     readfile($FileName); 
    } 

트릭을 할 것으로 보인다 인증 할 때이 작은 PHP 스크립트를 사용하는 것 외에도
<FilesMatch .zip> 
    order deny, allow 
    deny from all 
</FilesMatch> 

을 사용 .. .