代码之家  ›  专栏  ›  技术社区  ›  Derek

控件下载(.htaccess?)

  •  0
  • Derek  · 技术社区  · 15 年前

    我需要在没有权限的情况下保护.zip文件不被下载。

    我想能够提供一个直接链接到.zip下载到那些谁有权访问这些文件。

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

    似乎不起作用。它防止直接链接,但我不知道如何提供下载现在。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Scharrels    15 年前

    我建议将这些文件放在一个单独的目录中。您可以使用基本身份验证使用密码保护此目录。

    然后,您的.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,密码:test的行)。

    你可以在网上到处找到.htpassword生成器。例如:

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

        2
  •  0
  •   Derleek    15 年前

    实际上我只是用

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

    好像在耍花招。。。