Ich muss eine etwas seltsame Operation durchführen.
Zuerst laufe ich auf Debian, apache2 (das als Benutzer www-Daten 'läuft')
Ich habe also eine einfache Textdatei mit .txt ot .ini oder einer beliebigen Erweiterung, die keine Rolle spielt.
Diese Dateien befinden sich in Unterordnern mit einer Struktur wie der folgenden:
www.example.com/folder1/car/foobar.txt www.example.com/folder1/cycle/foobar.txt www.example.com/folder1/fish/foobar.txt www.example.com/folder1/fruit/foobar .TXT
Daher ist der Dateiname immer derselbe, ebenso wie für die 'Hierarchie'. Ändern Sie einfach den Namen des Ordners: /folder-name-static/folder-name-dinamyc/file-name-static.txt
Was ich tun sollte, ist (glaube ich) relativ einfach: Ich muss in der Lage sein, diese Datei von Programmen auf dem Server (z. B. Python, PHP) zu lesen, aber wenn ich versuche, den Dateiinhalt per Browser abzurufen (Ziffern der URL www. example.com/folder1/car/foobar.txt oder über cUrl usw.) Ich muss einen verbotenen Fehler oder was auch immer erhalten, aber nicht auf die Datei zugreifen .
Es wäre auch schön, wenn selbst der Zugriff auf diese Dateien über FTP "versteckt" wäre oder sowieso nicht heruntergeladen werden könnte (zumindest das, was ich mit dem FTP-Root und den Benutzerdaten verwende).
Wie kann ich?
Ich habe dies online gefunden, in die Datei .htaccess:
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
Es scheint zu funktionieren, aber nur, wenn sich die Datei im Webstamm (www.example.com / myfile.txt) und nicht in Unterordnern befindet. Darüber hinaus werden die Ordner in der zweiten Ebene (www.example.com/folder1/ Frucht wird /foobar.txt) dinamycally erstellt .. Ich möchte vermeiden , .htaccess - Datei von Zeit zu Zeit zu ändern.
Es ist möglich, eine solche Regel für alle Dateien mit Vornamen zu erstellen, die sich unter * www.example.com / Ordnername -statisch / * Ordnername-dinamyc / *** Dateiname befinden -static.txt *, wo diese Teile immer gleich sind , nur ** diese eine Änderung ?
EDIT :
Wie Dave Drager sagte, könnte ich dies semplifizieren, indem ich diese Dateien außerhalb des über das Internet zugänglichen Verzeichnisses halte. Aber diese Verzeichnisse enthalten auch andere Dateien, Bilder und Dinge, die von meinen Benutzern verwendet werden. Ich versuche also einfach, kein doppeltes Ordnersystem zu haben, wie zum Beispiel:
/var/www/vhosts/example.com/httpdocs/folder1/car/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/cycle/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/fish/[other folders and files here]
//and, then for the 'secrets' files:
/folder1/data/car/foobar.txt
/folder1/data/cycle/foobar.txt
/folder1/data/fish/foobar.txt