httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Blond" <jbl...@gmail.com>
Subject Re: Dateien vor direktem Zugriff schützen
Date Tue, 18 Jul 2006 15:08:48 GMT
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 <apache@universalware.de> 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 users-de-unsubscribe@httpd.apache.org
>           sonstige Anfragen an users-de-help@httpd.apache.org
> --------------------------------------------------------------------------
>
>

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message