Verzeichnis schützen?

Alles, was den Apache betrifft, kann hier besprochen werden.

Verzeichnis schützen?

Postby Olaf » 12. August 2004 14:29

Hi allerseits!

Ich würde gerne ein Verzeichnis absolut schützen.
Dafür dachte ich mir, dass ich ein Verzeichnis außerhalb des DocumentRoots anlege.

Nun die Fragen:
Ist das Verzeichnis dann sicher?
Kann ich dort eigentlich noch mit PHP drauf zugreifen?
Ich würde nämlich gerne dort Dateien lagern und sie bei Downloadbedarf in ein öffentliches Verzeichnis zum Download kopieren?
Geht soetwas überhaupt?

Danke + Gruß
Olaf
Olaf
 
Posts: 32
Joined: 27. December 2002 11:15

Postby Wiedmann » 12. August 2004 14:41

Dafür dachte ich mir, dass ich ein Verzeichnis außerhalb des DocumentRoots anlege.
st das Verzeichnis dann sicher?

i.d.R. kannst du ja nur auf das zugreifen, was du in einer URL eingeben kannst. Und das ist alles unterhalb des "DocumentRoots" oder wofür ein Alias besteht.
Solange es keine Sicherheitslücke im Webserver gibt die man ausnutzen kann, oder ein unsicheres Script das seine Parameter nicht überprüft, ist das sicher.

Kann ich dort eigentlich noch mit PHP drauf zugreifen?

Mit PHP kannst du grundsätzlich erst einmal auf alles zugreifen, sofern man das nicht einschränkt in der "php.ini".

ch würde nämlich gerne dort Dateien lagern und sie bei Downloadbedarf in ein öffentliches Verzeichnis zum Download kopieren?
Geht soetwas überhaupt?

Das würde gehen. Du weisst aber nicht wann der Download dann fertig ist und wann löscht du die Datei dort wieder (mit was)? Könnte man dann gleich alles öffentlich machen...
Würde da eher readfile() nehmen und den Dateiinhalt durch das Script ausgeben lassen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Olaf » 12. August 2004 17:36

Wiedmann wrote:i.d.R. kannst du ja nur auf das zugreifen, was du in einer URL eingeben kannst. Und das ist alles unterhalb des "DocumentRoots" oder wofür ein Alias besteht.
Solange es keine Sicherheitslücke im Webserver gibt die man ausnutzen kann, oder ein unsicheres Script das seine Parameter nicht überprüft, ist das sicher.

Es soll ja nicht mit einer URL erreich werden ;-).

Wiedmann wrote:Mit PHP kannst du grundsätzlich erst einmal auf alles zugreifen, sofern man das nicht einschränkt in der "php.ini".

Aha, also sprich das, was der User, der unter dem Apache läuft, für Rechte auf das Dateisystem hat oder?

Wiedmann wrote:Das würde gehen. Du weisst aber nicht wann der Download dann fertig ist und wann löscht du die Datei dort wieder (mit was)? Könnte man dann gleich alles öffentlich machen...
Würde da eher readfile() nehmen und den Dateiinhalt durch das Script ausgeben lassen.

Ich möchte eine Datei Bibliothek aufbauen. Es sollen eingeloggte Benutzer die Möglichkeit haben mehrere Dateien auszuwählen. Diese möchte ich dann aus einem sicheren Verzeichnis mittels copy() oder evtl. auch einem Shellkommando in ein temporäres Verzeichnis kopieren, welches nur der Benutzer erreichen kann. Dort werden die Dateien gepackt und zum Download angeboten. Der Ordner wird so benannt, dass man ihn schwer erraten kann. Nach 3 Downloadversuchen, wird der Ordner automatisch mit rmdir() inkl. gepackte Dateien gelöscht. Das mal so als wage Erklärung ;-).

Danke nochmals + Gruß

Olaf
Olaf
 
Posts: 32
Joined: 27. December 2002 11:15

Postby Wiedmann » 12. August 2004 18:13

Aha, also sprich das, was der User, der unter dem Apache läuft, für Rechte auf das Dateisystem hat oder?

Hast Recht, der Zusatz fehlt noch.

Dort werden die Dateien gepackt und zum Download angeboten. Der Ordner wird so benannt, dass man ihn schwer erraten kann. Nach 3 Downloadversuchen, wird der Ordner automatisch mit rmdir() inkl. gepackte Dateien gelöscht.

Und woran und mit was erkennst du 3 Downloadversuche?
Lass PHP die 3 Dateien packen und das gepackte schiebst du dann mit readfile, fpassthru oder fwrite (je nach dem wie du zu dem Archiv kommst) zum Client.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Olaf » 12. August 2004 18:43

Wiedmann wrote:
Und woran und mit was erkennst du 3 Downloadversuche?
Lass PHP die 3 Dateien packen und das gepackte schiebst du dann mit readfile, fpassthru oder fwrite (je nach dem wie du zu dem Archiv kommst) zum Client.


Dahinter verbirgt sich natürlich noch ne DB, an readfile() hatte ich im Vorwege ja noch nicht gedacht ;-).
Ich möchte aber nichts aus dem Verzeichnis dirket versenden, es soll eben kpoiert, gepackt und dann (nun) mit readfile() verschickt werden.

Ich danke für den Hinweis, aber ist das Verzeichnis, welches nun nicht im DocRoot liegt denn sicher?? Ich meine von Zugriffe von außen???

Grüße
Olaf
Olaf
 
Posts: 32
Joined: 27. December 2002 11:15

Postby nemesis » 12. August 2004 20:45

Solange kein Alias für Apache darauf zeigt, ja. Ansonsten kannste immer noch ne .htaccess oder ne dummy index.html reinpacken.
3 Downloadversuche könnten auch missinterpretiert werden, was ist wenn nen Downloadmanager mehrere Threads aufmacht, und sagen wir mal 5 Downloads (bei einer Datei) gleichzeitig versucht? Löschte dann gleich das Verzeichnis, oder nur die Datei (was eh nicht geht, weil noch darauf zugegriffen wird)?
Wenn jeder "Admin" die Datein nach bedarf hin und her kopiert, würden sich die Festplattenhersteller darüber freuen ;)
Eins was einfacher währe, ähnlich wie bei deiner Methode, halt eben nur ohne das kopieren. Der Berechtigte User hat nen Zufallsdownloadordner, und die Datein werden mit fpassthru durchgereicht in den "pseudo-Ordner".
Ubuntu 18.04 | SMP P3 1.4 GHz | 6 GByte RegECC | 74 GByte Seagate 15k5 system | 3Ware 9550SXU-4LP with 4x 500 GByte Seagate ES2 Raid 10 data | StoreCase DE400 | PX-230A | Intel Pro/1000MT Dual PCI-X
User avatar
nemesis
AF Moderator
 
Posts: 1044
Joined: 29. December 2002 13:14
Location: Ingolstadt
XAMPP version: depends
Operating System: Linux, BSD, Win, iOS, Android

Postby Olaf » 13. August 2004 06:11

Der Gedanke mit dem Downloadmanager ist mir noch garnicht gekommen.

Wie würdet Ihr denn soetwas realisieren. Mein Problem ist eben, dass ich mehrere Dateien zusammen packen muss und dann zum Download anbieten muss. Immer unter dem Gesichtspunkt der Sicherheit und der Zuordnung zu einem Benutzer?

Danke + Gruß

Olaf
Olaf
 
Posts: 32
Joined: 27. December 2002 11:15


Return to Apache

Who is online

Users browsing this forum: No registered users and 227 guests