控制下载(.htaccess?)

时间:2009-08-07 06:20:05

标签: .htaccess permissions download

我需要保护.zip文件不被无权下载。

我希望能够为有权访问这些文件的用户提供.zip下载的直接链接。

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

似乎不起作用。它会阻止直接链接,但我不确定如何立即提供下载。

2 个答案:

答案 0 :(得分: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

(这是用户名的行:test,password:test)。

您可以在互联网上找到.htpassword生成器。例如:

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

答案 1 :(得分:0)

我其实只是用过

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

除了在用户通过身份验证时使用这个小PHP脚本

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);
    }

似乎可以做到这一点......