Im Grunde kannst Du die Abfrage auch ohne eigentliche .htaccess Dateien lösen.
<?php
//php5 Anpassung
$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
//
$users = array(
"user"=>"passwort",
"anonyme"=>"devine"
);
$auth_text = "Du darfst hier nicht rein!";
if(!(empty($PHP_AUTH_USER) || empty($PHP_AUTH_PW)) &&
$PHP_AUTH_PW==$users[$PHP_AUTH_USER]){
include("page.php");
}
else{
header("www-authenticate: basic realm=\"$auth_text\"");
header("http/1.0 401 unauthorized");
}
?>
page.php kann ja die Seite sein, auf der die Links sind / die das
Verzeichnis ausliest.
Natürlich wäre auch ein Ausliefern unter falschen Namen möglich
<?php
// Wir werden eine PDF Datei ausgeben
header("Content-type: application/pdf");
// Es wird downloaded.pdf benannt
header("Content-Disposition: attachment; filename=downloaded.pdf");
// Die originale PDF Datei heißt original.pdf
readfile('original.pdf');
?>
Gruß
Mario
On 7/18/06, Andreas Müller <[EMAIL PROTECTED]> wrote:
Hallo zusammen,
ich such nach einer Lösung für folgendes Problem:
Ich muss recht viele und auch z.T. recht große Dateien ausliefern. Das ganze
in einem mit .htaccess/.htpasswd geschütztem "Verzeichnis". Nun soll aber
auch überwacht werden welcher Benutzer wann welche Datei herunterläd und
ggf. soll das auch abgelehnt werden. Also liefert heute ein PHP Script die
Daten aus und führt die Überwachung durch.
http://domain.tld/user/download/film1.mpg
wird per RewriteRule auf
http://domain.tld/user/download/download.php?film1.mpg
via [N,R] umgeleitet.
Das funktioniert an sich soweit hat aber den Nachteil das der Apache dadurch
massig Speicherplatz frisst da er scheinbar erstmal alles den RAM zieht. Das
ist auch nur durch kurze Lebensdauer der Prozesse in den Griff zu bekommen
sodas der Speicher halt schnell wieder freigegeben wird.
Nun hatte ich die Idee das das PHP Script ja lediglich die Überwachung
machen müsste und bei Erfolg eine Weiterleitung veranlassen könnte z.B. auf
http://domain.tld/user/download/data/film1.mpg
"data" ist ein Verzeichnis in der Document Root das per DenyAll jeglichen
direkten Zugriff verwehrt.
Nun die eigentlich frage:
Kann man das so einrichten das man via speziellem rewrite im Apache Daten
aus einem Verzeichnis ausliefert das normal per URL von "aussen" nicht
ansprechbar ist?
Ich will so verhindern das man bei Kenntniss der direkten URL von aussen die
Daten unter Umgehung des PHP Scripts die Daten einfach abrufen kann.
Gruß,
Andreas
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an [EMAIL PROTECTED]
sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an [EMAIL PROTECTED]
sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------