2009-08-07 11 views
0

Ich muss eine ZIP-Datei vor dem Download ohne Erlaubnis schützen.Kontrolle herunterladen (. Htaccess?)

Ich möchte in der Lage sein, einen direkten Link zu den ZIP-Download für diejenigen, die Zugriff auf die Dateien haben.

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

scheint nicht zu funktionieren. Es verhindert direkte Links, aber ich bin mir nicht sicher, wie ich den Download jetzt bereitstellen soll.

Antwort

2

Ich würde empfehlen, die Dateien in einem separaten Verzeichnis zu platzieren. Sie können dieses Verzeichnis mit einem Kennwort mithilfe der Standardauthentifizierung sichern.

Ihre .htaccess wird dann wie folgt aussehen:

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

Ihre Htpasswd eine Zeile für jeden Benutzer enthalten soll, die für die Authentifizierung erlaubt ist:

test:R.NyWzK/TEEvo

(dies die Linie für Benutzername ist : Test, Passwort: Test).

Sie können .htpassword Generatoren überall im Internet finden. Zum Beispiel:

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

0

eigentlich habe ich nur

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

zusätzlich zur Verwendung dieses kleinen PHP-Skript, wenn ein Benutzer authentifiziert wird

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

scheint den Trick zu tun ..