我需要保护.zip文件不被无权下载。
我希望能够为有权访问这些文件的用户提供.zip下载的直接链接。
<filesmatch .zip>
order deny, allow
deny from all
</filesmatch>
似乎不起作用。它会阻止直接链接,但我不确定如何立即提供下载。
答案 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生成器。例如:
答案 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);
}
似乎可以做到这一点......